Linux 中使用 Crontab 设置定时任务
前言
最近有个自己的特殊需求,需要定期备份某些数据到github,于是打算使用linux系统本身的定时器完成此需求。
crontab
简介
crontab
命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。crontab储存的指令被守护进程激活, crond
常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs
。
确定服务器是否开启定时任务计划服务
命令: service crond status
确认定时任务是否开启。
常用命令:
# 开启服务
service crond start
# # 开启服务
service crond stop
# 重启服务
service crond restart
# 重新载入配置
service crond reload
crontab
格式说明
格式为 :* * * * *
解释 | minute | hour | day of mouth | month of year | day of week |
---|---|---|---|---|---|
标识 | * | * | * | * | * |
含义 | 每个小时的第几分钟执行该任务 | 每天的第几个小时执行该任务 | 每月的第几天执行该任务 | 每年的第几个月执行该任务 | 每周的第几天执行该任务 |
取值范围 | 0~59 | 0~23 | 1~31 | 1~12 | 0~6(0表示周天) |
示例:
5 * * * * Command
每小时的第5分钟执行一次命令
*/1 * * * * Command
每1分钟执行一次命令
0 */1 * * * Command
每1小时执行一次命令
30 18 * * * Command
指定每天下午的 6:30 执行一次命令
30 7 8 * * Command
指定每月8号的7:30分执行一次命令
30 5 8 6 * Command
指定每年的6月8日5:30执行一次命令
30 6 * * 0 Command
指定每星期日的6:30执行一次命令
每天的下午4点、5点、6点的5 min、15 min、25 min、35 min、45 min、55 min时执行命令。
5,15,25,35,45,55 16,17,18 * * * Command
开始创建一个定时任务
crontab -e
编辑某个用户的cron
服务
crontab -l
列出某个用户cron
服务的详细内容
crontab -r
删除某个用户的cron
服务(慎用)
查看定时任务的执行情况
在/var/spool/mail/{username}
中可以查看最近的crontab
的执行情况
username:用户名
cron
的定时任务备份恢复
如果使用crontab -r
误删了定时任务在/var/spool/cron
下有定时任务的备份,可以通过该cron
找回
如果没有权限 的话su - + root.password
在root
用户下进行查看
后记
参考文章:点我