定时任务 crontab

定时任务

  • 定时任务
  • 查看定时任务列表
  • 参数含义
  • 编辑定时任务
  • 删除定时任务
  • 其它相关命令

定时任务

定时任务是我们在工作中一定会用到的东西。
比如,在某个固定空闲时段,执行下重启服务的脚本;
再如,在某个固定的时间段,将日志打包并清空原文件等等。
诸如此类的执行任务,都可以写到定时任务中,让它自己执行。

查看定时任务列表

使用 crontab -l 命令,可查看当前定时任务列表

[root@localhost service]$ crontab -l 
55 23 * * * /home/usr/del-log.sh > /dev/null 2>&1

返回结果中,会包含当前所有的定时任务

参数含义

以上方返回结果为例:

  1. 55 23 * * *

55 23 * * * 代表的是时间表达式,五个域从左至右分别代表: 分 时 日 月 星期
也可以是六个域,最后再加一个 年
这里的表达式代表的是每天的23:55分
常用的表达式:
每分钟执行:*/1 * * * *
每个星期日晚上23点59分执行:59 23 * * 7 (此处也可以写0)
每天十点的15分和45分执行:15,45 10 * * *
每天八点到十点间每个小时的零五分执行:5,8-10 * * *
每天八点到十二点间,隔一个小时执行:0 8-12/1 * * *
每个月十号早上八点半执行:30 8 10 * *

  1. /home/usr/del-log.sh > /dev/null 2>&1

第二个参数是带有绝对路径的执行脚本/home/usr/del-log.sh(此处也可以直接写命令)
2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出
换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出
/dev/null 代表空设备文件
1 表示stdout标准输出,系统默认值是1,所以"> /dev/null"等同于"1 > /dev/null"
2 表示stderr标准错误
& 表示等同于的意思,2>&1, 表示2的输出重定向等同于1

这里返回的结果集,代表着:每天晚上23:55,执行del-log.sh脚本,且无论错误与正确,均不进行内容输出

编辑定时任务

使用crontab -e 命令,可编辑定时任务

[root@localhost service]$ crontab -e

删除定时任务

使用crontab -r 命令,可删除当前用户下全部定时任务

[root@localhost service]$ crontab -r

其它相关命令

#重启定时任务
service crond restart 
#启动服务
service crond start 
#关闭服务
service crond stop 
#重新载入配置
service crond reload 

你可能感兴趣的:(服务器,linux)