Linux任务计划at corn及crontab

转自:http://linux-kernel.blog.sohu.com/309481470.html

任务计划
1.在未来某时间点执行一次任务
at
batch 不需要指定时间 在系统较空闲时自动执行

at的使用: at 时间
at>COMMAND
at>CTRL+D 提交

指定时间:
绝对时间:HH:MM DD.MM.YY MM/DD/YY
相对时间:now+# 单位minutes hours days weeks
模糊时间:noon midnight teatime

命令的执行结果:以邮件方式发送给安排任务用户

at —l=atq 显示待执行的作业号
at -d AT_JOB_ID=atrm AT_JOB_ID删除作业号
/etc/at.deny 出现的用户禁止使用deny
/etc/at.allow

2、周期性的执行
cron:自身是一个不间断运行的服务
anacron: cron的补充,能够实现让cron因为各种原因在过去的时间该执行而未执行的任务在恢复正常执行一次;    

cron:
系统cron任务:
/etc/crontab
分钟  小时  天  月  周  用户  任务
用户cron任务:
/var/spool/cron/USERNAME
分钟  小时  天  月  周  任务

时间的有效取值:
分钟:0-59
小时:0-23
天:1-31
月:1-12
周:0-7,0和7都表示周日

时间通配表示:
*: 对应时间的所有有效取值
3 * * * *  每小时第3分钟执行
3 * * * 7  每周日的每小时的第三分钟执行
13 12 6 7 * 每年7月6号12点13分

,: 离散时间点:
10,40 * * * * 每小时的第10分钟和第40分钟
10,40 02 * * 2,5

-:连续时间点:
10 02 * * 1-5 每周一到周五的2点十分

/#: 对应取值范围内每多久一次
*/3 * * * *  每3分钟执行一次

每两小时执行一次:
08 */2 * * *
每两天执行一次:
10 04 */2 * *    
执行结果将以邮件形式发送给管理员:
*/3 * * * * /bin/cat /etc/fstab > /dev/null  只将错误结果发邮件 执行时最好直接带PATH路径

cron的环境变量:cron执行所有命令都去PATH环境变量指定的路径下去找
PATH  /bin:/sbin:/usr/bin:/usr/sbin

脚本用到cron时,可以先定义PATH: export PATH=
脚本就会用自定义的PATH

用户任务的管理:
crontab
-l: 列出当前用户的所有cron任务
-e: 编辑
-r: 移除所有任务
-u USERNAME: 管理其用户的cron任务

anacron: /etc/anacrontab

确定服务是否已经开启:service crond status
service anacron status

chkconfig --list crond

你可能感兴趣的:(Linux任务计划at corn及crontab)