定时任务

计划任务基本概述

  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

如果日和周同时存在,那么这二者就是或者的关系,其他都是并且。

配置定时任务

配置定时任务使用的是crontab命令:
-e 编辑定时任务
-l 查看定时任务
-r 删除定时任务
-u 指定其他用户
编辑定时任务示例:

[root@oldboy ~]# crontab -e
# 每5分钟同步一次时间 
*/5 * * * * ntpdate time.windows.com &>/dev/null

[root@oldboy ~]# 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. 尽可能的要加上必要的注释信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值