计划任务基本概述
1.什么是crond?
crond 就是计划任务,表示定时去完成某个任务。
2.为什么要用crond?
crond 主要做一些周期性的任务。
1)定期备份重要的文件或数据。
2)促销活动
3)检测超时订单
4)每隔5分钟上各个电商平台刷取订单信息写入自己公司的系统
3.计划任务主要分为以下两种情况
1)系统级别的定时任务:临时文件清理/系统信息采集/日志切割
2)用户级别的定时任务:定时备份数据/同步时间/订单超时自动取消/按时间统计信息等
计划任务时间管理
计划任务书写格式:
-
-
-
-
- 要执行的任务。
这五个* , 按照顺序分别表示:分时日月周
- 要执行的任务。
-
-
-
计划任务表示时间的特殊符号:
-
-
-
-
- ls # 表示每分钟执行一次ls
-
-
-
- 5-7 * * * ls # 表示每天5-7点的时间段中,每分钟执行一次ls
-
-
-
- 1,3,5 ls # 表示每个周一、周三、周五每分钟执行一次ls
*/5 * * * * ls # 表示每5分钟执行一次ls
- 1,3,5 ls # 表示每个周一、周三、周五每分钟执行一次ls
-
-
如果日和周同时存在,那么这二着就是或者的关系,其他都是并且。
配置定时任务
配置定时任务使用的是crontab命令:
-e 编辑定时任务
-l 查看定时任务
-r 删除定时任务
-u 指定其他用户
示例:
crontab -e
#每5分钟同步一次时间
*/5 * * * * ntpdate time.windows.com &>/dev/null
crontab -l
#每5分钟同步一次时间
*/5 * * * * ntpdate time.windows.com &>dev/null
如果我们对定时任务做出了误操作。
我们可以这样恢复:
1.拿到所有执行的任务
2.根据执行的任务。去过滤,然后找到他的执行时间和周期。
不同的用户的定时任务的文件不是同一个文件。
如果我们不想让某个用户能够使用定时任务,我们就需要把不想让使用定时任务的用户写入/etc/cron.deny文件中即可。
在我们写脚本或者定时任务时,如果用到命令,最好使用绝对路径来调用命令,防止出错。
定时任务调试
crond调试
1.调试任务为每分钟执行一次,查看没有问题之后再调整执行频率为需要的频率。
2.最好把执行结果放到指定的日志文件中去,观察日志内容是否正常。
3.命令使用绝对路径,防止故障放生。
4.通过查看/var/log/cron日志,可以检查我们执行的结果。
————————————
crond编写
1,脚本文件最好写到统一的文件中去
2,脚本内容复制执行成功的命令,防止出错
3,脚本的输出信息最好写到/dev/null中,减少输出信息
4,执行脚本成功以后,复制执行脚本的命令,便于写入cron中
5,尽可能的要加上必要的注释信息。