Linux定时任务的分类
1、系统自身定期执行的任务
如定期以日期命名的message开头的文件
[root@xwj ~]# ll /var/log/messages*
-rw-------. 1 root root 89790 Nov 4 13:44 /var/log/messages
-rw-------. 1 root root 276929 Sep 29 02:03 /var/log/messages-20180929
-rw-------. 1 root root 90570 Oct 20 11:52 /var/log/messages-20181020
-rw-------. 1 root root 269326 Oct 22 00:34 /var/log/messages-20181022
-rw-------. 1 root root 451941 Nov 3 12:24 /var/log/messages-20181103
2、用户执行的定时任务
crond是一个定时任务守护进程
crontab设置定时任务规则命令
crontab -e 编辑定时任务配置文件
crontab -l 查看定时任务
cat /etc/crontab 查看定时任务的配置说明
# Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed # 分 时 日 月 周
每一分钟执行一次脚本/server/scripts/test.sh
*/1 * * * * /bin/sh /server/scripts/test.sh
每天的17到19点的半点执行一次脚本
30 17-19 * * * /bin/sh /server/scripts/test.sh
同上
30 17,18,19 * * * /bin/sh /server/scripts/test.sh
每5分钟执行一次脚本
*/5 * * * * /bin/sh /server/scripts/test.sh
每天凌晨3:30和12:30执行一次脚本
30 3,12 * * * /bin/sh /server/scripts/test.sh
每隔16小时的半点执行一次脚本
30 */16 * * * /bin/sh /server/scripts/test.sh
每天8点到18点的半点 每隔2个小时执行一次脚本
30 8-18/2 * * * /bin/sh /server/scripts/test.sh
每天21:30执行一次脚本
30 21 * * * /bin/sh /server/scripts/test.sh
每天18点到23点的整点和半点执行一次脚本
0,30 18-23 * * * /bin/sh /server/scripts/test.sh
* 任意时刻
/n 每隔单位时间执行一次
,分割时段
- 时间段范围
例如:每隔一分钟向/tmp/b.txt写入当前时间
crontab -e 编辑定时任务配置文件 相当于 vim /var/spool/cron/root(用户名)
crontab -l 查看定时任务 相当于 cat /var/spool/cron/root