linux定时任务
未来的某个时间执行一次任务,或者周期性执行某个任务,执行结果会通过邮件通知。
周期性任务:crontab
定时任务:at batch
系统任务调度:/etc/crontab
用户任务调度:/var/spool/cron
发邮件:mail l:mail -s “邮件主题” -c “抄送地址” -b“密送地址” -f 发件人地址 -F发件人姓名
1、时间定义
hh:mm 12:00
noon teatime
AM PM 8am 9pm
2019-8-11 2019/8/11
+5minutes hours days weeks
today tomorrow
2、语法结构
at 选项 参数
-q 列出任务
-f 从文件中读取
-l列出任务
-d 指定删除
-v:列出已执行未删除的任务
atq:at - q
atrm:删除
cron命令
crontab
时间表示法
1、特定值
2、*
3、连续值
8-10 9-17
4、离散值
8,10,12
5、/ 定义时间点 时间步长
注意:定义步长需要能被整除
crontab
-e编辑任务
-l列出任务列表
-r移除任务
-i移除时确认,与-r一起使用
-u:只有root和管理员可以使用
计划任务规范:
1、脚本要规范,脚本存放位置要规范,便于维护
2、定时任务要注释
3、执行的脚本要带绝对路径
4、执行结果的标准输出或错误输出>/dev/null
5、可以以命令完成的任务,也要写在脚本
6、分用户执行
定时任务
crontab -e进行编辑
-
-
-
-
- echo ‘hello’>>/tmp/test.txt
-
-
-
*/1 * * * * echo ‘hello’>>/tmp/test.txt
以上表示每分钟执行hello的输出,并且把输出写到/tmp/test.txt文件中
保存退出后,可以看到/tmp/test.txt中输出了hello