乐趣区

关于程序员:linux定时任务

1. 定时工作概念

01. 定时工作作用

主动 实现操作命令
定时备份零碎数据信息

02. 定时工作分类

定时工作软件
cronie: 默认零碎自带定时服务 crond(crontab)
atd: 须要装置 at 命令(yum -y install at), 只运行一次,一次性定时工作
anacron:非 7 *24 小时运行的服务器

03. 定时工作实现形式

零碎定时工作(非凡的几个目录), 零碎自带的,不灵便

零碎定时工作周期:每小时 管制定时工作目
录:/etc/cron.hourly
零碎定时工作周期:每一天 管制定时工作目录:/etc/cron.daily 00:00-23:59
零碎定时工作周期:每一周 管制定时工作目录:/etc/cron.weekly 7 天
零碎定时工作周期:每个月 管制定时工作目录:/etc/cron.monthly 30 28 31
用户定时工作

用户定时工作查看:crontrabl -l(list) —- 查看定时工作信息
用户定时工作编辑:crontab -e (edit) —- 编辑定时工作信息
定时工作配置文件: /var/spool/cron/root —- root 文件示意 root 用户设置的定时工作
常见提示信息

no crontab for root:相应用户没有编辑定时工作
Do you want to retry the same edit:定时工作编辑谬误是否持续

相干启动命令

Centos 6
service crond start    // 启动服务
service crond stop     // 敞开服务
service crond restart  // 重启服务
service crond reload   // 从新载入配置
service crond status   // 查看服务状态 

Centos 7
 systemctl stop crond   // 敞开
 systemctl start crond   // 开启
 systemctl reload crond   // 从新加载
 systemctl restart crond   // 重启
 

2. 定时工作实际利用

01. 定时工作 试验环境

确保 crond 服务开启

[root@hbs/tmp]# systemctl status crond
crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2021-08-17 15:56:50 CST; 4h 58min ago
 Main PID: 23739 (crond)
   CGroup: /system.slice/crond.service
           └─23739 /usr/sbin/crond -n

Aug 17 15:56:50 hbs systemd[1]: Started Command ...
Aug 17 15:56:50 hbs systemd[1]: Starting Command...
Aug 17 15:56:50 hbs crond[23739]: (CRON) INFO (R...
Aug 17 15:56:50 hbs crond[23739]: (CRON) INFO (r...
Aug 17 15:56:50 hbs crond[23739]: (CRON) INFO (@...
Hint: Some lines were ellipsized, use -l to show in full.
[root@hbs/tmp]# 

02. 定时工作 配置办法

2.1 定时工作相干文件
定时工作 服务配置文件目录:/var/spool/cron
定时工作 运行记录日志文件:/var/log/cron
定时工作 禁止用户运行名单:/etc/cron.deny

2.2 定时工作编写格局
查看编写格局

1. 用数值示意 工夫信息
00 02 *  *  *  备份文件

2. 利用特殊符号示意工夫信息
*     *    *   *    *   备份文件
/ 分钟 / 小时 / 天  / 月  / 周

=========================================
PS: 定时工作最短执行的周期为 每分钟 
*/5       */ 6     */3      */1    */2
每隔 5 分钟  每隔 6 小时  每隔 3 日  每隔 1 月  每隔 2 周

=========================================
其它 写法:01-05  02  * * *        每 2 日的 01、02、03、04、05 执行一遍


指定不间断的工夫范畴:00  14,20  *  *  *  *    每天 14 点,20 点执行一次

补充阐明

00/10  01,03  *  *  *   每天 1 点和 3 点的时候 每隔 10 分钟,执行一次
30/10  01,03  *  *  *   每天 1 点和 3 点的时候,从 30 分钟开始,每隔 10 分钟,执行一次

2.3 编写步骤

每天凌晨两点备份 /data 目录到 /backup

第一个历程: 写上工夫信息
      00 02 * * *
第二个历程: 写上实现工作的具体命令
      cp -a /data /backup
第三个历程: 编写定时工作
      crontab -e 
      00 02 * * *  cp -a /data /backup
      
======================================
  [root@hbs~]#crontab -e 
 00 02 * * *  cp -a /data /backup     

退出移动版