您的位置:首页 > 运维架构 > Linux

crontab命令常见用法示例

2016-11-23 15:43 344 查看
# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59) 分钟-范围是0到59
# |  .------------- hour (0 - 23) 小时-范围是0到23
# |  |  .---------- day of month (1 - 31) 日-范围是1-31
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ... 月份-范围是1-12 或者是 英文简写
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat 周-范围是0到6,周日可以用0和7表示
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed 最后跟上要执行的命令

1、每个时间位都应该使用其可用的有效取值范围内的值
2、某时间位上的*表示对应位的所有有效取值
3、-: 连续的时间相邻点取值
4、,: 离散的时间点取值
5、/#:表示在指定时间范围内每隔#执行一次


“每周”和”每月每天”通常不会同时使用

crontab 命令的一般形式
crontab [-u username] -e -l -r
-u username
-e (edit) 调用EDITOR环境变量指定的编辑器编辑计划任务
-l (list) 列出用户的计划任务
-r (remove) 删除用户的计划任务(所有的)
如果用户使用自己的名字登录,就不用使用-u选项;

当时用 crontab 运行shell脚本的时候,要由用户来给出脚本的绝对路径,设置相应的环境变量;
如果crontab不能运行相应的脚本,用户将收到一封邮件说明其中的原因;

直接使用crontab -e命令,它会调用系统设置的环境变量EDITOR来编辑;
我们在设置计划任务之前,可以先设置这个环境变量的值:
编辑用户家目录下的.profile文件
vim ~/.profile
加入以下内容:
EDITOR=vi; export EDITOR

1. 30 21 * * * /apps/bin/cleanup.sh 每天晚上的21:30运行/apps/bin/目录下的cleanup.sh
2. 45 4 1,10,22 * * /apps/bin/backup.sh 每月的1 、 10 、 22号的4:45运行/apps/bin/目录下的backup.sh
3. 10 1 * * 6,0 /bin/find -name "core" -exec rm {} \; 每周六、周日的1:10运行一个find命令
4. 0,30 18-23 * * * /apps/bin/dbcheck.sh 每天18点到23点之间每隔30分钟运行/apps/bin目录下的dbcheck.sh
5. 0 23 * * 6 /apps/bin/qtrend.sh 每周六的11:00运行/apps/bin/目录下的qtrend.sh
6. 0 15 23 * * 每月23号15点0分执行一次
7. * 15 23 * * 每月23号15点每分钟执行一次
8. 30-35 7 * * * 每天的7点30到35分这个时间段内每分钟执行一次(共6次)
9. 5,35 * * * * 每天的每小时的5分和35分执行一次
10. */3 * * * * 每隔3分钟执行一次
11. 3,33 9-18/2 * * 1-5 周一到周五每天的9点到18点之间每2小时的3分和33分执行一次
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux crontab 计划任务