cron任务计划:
任务计划:
在未来的某个时间点执行一次任务
at:
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 加作业号 删除作业
batch bash是不需要指定时间的,但也是执行一次,自动选择系统较空闲的时刻再执行任务,
其他格式跟at相同。
周期性地执行某任务:
cron:自身是一个不间断运行的服务
anacron:cron的补充,能够实现让cron因为各种原因在过去的时间改执行而未执行的任务再恢复正常执行一次,其他格式跟at相同。
cron:
系统cron任务:
/etc/crontab
分钟 小时 天 月 周 用户 任务
用户cron任务:
/var/spool/cron/USERNAME
分钟 小时 天 月 周 任务
时间的有效取值:
分钟:0-59
小时:0-23
天:1-31
月:1-12
周:0-7,0和7都表示周日 一般来说周和几号不能同用
时间通配表示:
*:对应的所有有效取值
3 * * * *:每小时的第三分钟执行一次
3 * * * 7::每个周日的每小时的第三分钟
13 12 * *:每天的12点13 分钟
,:离散时间:
10,40 02 * * 2,5:每周二,周五的两点10分,40分执行一次
-: 连续时间点
10 02 * * 1-5:每周从周一到周五的两点10分
/#:对应取值范围内每多久一次
比某个时间小的时间点要给个具体值:
例如:
每两小时执行一次:不是* */2 * * *
而是 08 */2 * * * 前面的具体值是什么不影响结果
*/3 * * * *:每3分钟执行一次的任务
执行结果将以邮件形式发给管理员:
*/3 * * * * /bin/cat /etc/fstab &> /dev/null
cron 的环境变量:cron执行所有命令都去PATH环境变量指定的路径下去找
PATH /bin:/sbin:/usr/bin:/usr/sbin
写脚本时:
先指定路径:
例子:
#!/bin/bash
#
export PATH=
转载于:https://blog.51cto.com/18237135986/1167955