你可以把定时任务理解为一个闹钟。
#Crontab表达式
* * * * *
分 时 日 月 周
每天的凌晨2点 02:00 00 02 * * *
每月执行一次 00 00 01 * *
每个月的一号零点零时零分同时这一天时星期六 00 00 01 * 6
1、/etc/crontab
2、如下的目录
/etc/cron.hourly/ # 系统定时任务每个?时运?这个?录?的内容
/etc/cron.daily/ # 系统定时任务每天运?这个?录?的内容
/etc/cron.weekly/ # 系统定时任务每周运?这个?录?的内容
/etc/cron.monthly/ # 系统定时任务每?运?这个?录?的内容
crontab -e
-e : 编辑计划任务
-l : 查看计划任务
# 注:用户级别的计划任务存放在/var/spool/cron/,不同的用户存放的计划任务是以其自己的名字命名的脚本
* 表示任意的(分、时、?、?、周)时间都执?
- 表示?个时间范围段, 如5-7点
, 表示分隔时段, 如6,0,4表示周六、?、四
/1 表示每隔n单位时间, 如*/10 每10分钟
#案例
# 1 3 5
00 00 1,3,5 * *
# 1到5号
00 00 1-5
# 每几分钟,每几个小数,每几天
0/2 /2
00 0/2 00 /2
00 00 0/2 00 00 /2
1.?动执?命令,然后保留执?成功的结果。
2.编写脚本
脚本需要统?路径/scripts 脚本内容复制执?成功的命令(减少每个环节出错?率)
3.执?脚本
使?bash命令执?, 防?脚本没有增加执?权限(/usr/bin/bash /bin/bash) 执?脚本成功后,复制该执?的命令,以便写?cron
4.编写定时任务
加上必要的注释信息, ?、时间、任务
设定定时任务执?的周期
粘贴执?脚本的命令(不要?敲)
5.调试定时任务
增加任务频率测试
检查环境变量问题(最好在脚本中重新定义环境变量PATH)
检查crond服务?志
1.定时任务规则之前加注释
2.使?脚本执?定时任务(只有?条简单命令的可以直接使?命令执?)
3.运?脚本?定要?绝对路径执?,统?脚本位置。
4.定时任务中date命令的百分号需转义才能使?。
5.命令或脚本结果(正确及错误)定向到空(>/dev/null 2>&1)或追加到?件中 >>/tmp/oldboy.txt 2>&1
6.避免不必要的程序及命令输出,如打包命令,tar -v的显示过程的选项。
7.打包压缩使?相对路径(切到?标?录的上?级打包?标)
8.定时任务脚本中的程序?件 ,尽量?绝对路径,?户的定时任务中的?件默认存放在当前?户的家?录
9.系统与命令位置有关的环境变量问题,建议脚本中重新定义环境变量PATH。
#每天的凌晨2点整执?
00 02 * * *
#每?的1?的凌晨2点整执?
00 02 1 * *
#每年的2?14?凌晨2点执?
00 02 14 02 *
#每周天的凌晨2点整执?
00 02 * * 0
#每年的6?周五凌晨2点执?
00 02 * 6 5
#每?14?或每周?的凌晨2点都执?
00 02 14 * 7
#每年的2?14?或每年2?的周天的凌晨2点执?
00 02 14 02 7
#每天凌晨2点,每隔10分钟执??次
0/10 02 * * *
#每分钟都执?
* * * * *
#每年2?14?的凌晨执?命令
00 00 14 2 *
#每隔5分钟执??次
00/5 * * * *
#每年的1?5?8?凌晨2点执?
00 02 * 1,5,8 *
#每?1号到8号凌晨2点执?
00 02 1-8 * *
#每天晚上21:00执?
00 21 * * *
#每?1、10、22?的4:45执?
45 04 1,10,22 * *
#每?1到10?的4:45执?
45 04 1-10 * *
#每隔两天的上午8点到11点的第3和第15分钟执?
3,15 8-11 0/2 * *
#晚上11点到早上7点之间,每隔两?时执?
* 23-7/2 * * *
#周?到周五每天晚上21:15执?
15 21 * * 1-5
原文:https://www.cnblogs.com/zhaokunhao/p/14597867.html