时间: 20180809
Linux 任务计划
一次性执行任务,即设定在未来某个指定的时间执行某个命令
周期性执行任务,设定后会在每隔多久的某个时间执行某个任务
at 一次性执行任务
是一个服务,如果想要使用它需要将服务启动atd.services
-l 列出当前系统的一次性任务计划相当于atq
-d 删除某个任务,相当于atrm
-c job 显示某任务详情
-f 把at要执行的所有任务放置于文件中,让at读取此文件作为要运行的任务
at 4pm + 3 days 三天后的下午4点
at -t [[CC]YY]MMDDhhmm[.ss]指定具体时间
crontab 周期性的执行任务
基于服务crond来进行周期性执行任务
cron任务有两类 系统cron和用户的cron,系统任务是指系统级别的例行性任务计划
它的制定通过编辑其配置文件/etc/crontab来实现
配置文件格式
前5个* 表示对应的时间点 user-name 用户身份 command要运行的任务
注意: 建议在定义cron任务时,用到的命令使用绝对路径;如果是脚本,脚本中
的命令使用绝对路径,或自定义一个拥有完整路径的环境变量
五个时间点分别时 分 时 月 日 周
1 8 * * * root /bin/echo "hello"
每天的8:1分执行此任务
*/# 在对应的时间位有效取值上每#个时间单位一次
*/3 * * * * 每三分钟一次
9 */2 * * * 每2个小时一次
注意虽然分钟没有定义但一般都会加一个时间,不然会变成每分钟一次
连续的时间点
40 3 * * 1-5 每周一到周五
离散时间
30 2 * * 2,4,6 每周二周四周六
对于任务运行后的结果默认邮件发送给任务相关用户,一般使用&>/dev/null
清空其记录
用户级的cron
使用contab来配置用户级的周期性任务
crontab 创建周期性任务
-l 列出已经定义的任务
-e 打开编辑界面定义任务
-r 移除所有任务
anacron
linux系统当作服务器24小时运行,但如果机器硬件故障或其它原因导致系统关机,重启
里边的重要cron任务已经过时了,但是是非常重要的任务必须要执行,anacron会在系统
开机时会检查配置文件将过时但未执行的任务在开机的时候将其及时执行一次,然后就
停止了。
原文地址:http://blog.51cto.com/winthcloud/2157692