Linux cron 定时任务

2022年1月21日 2300点热度 0人点赞 0条评论
内容纲要

最近将博客系统迁移,有 Nginx,ssl证书,mysql数据库和 wordpress 各类文件,折腾了一番。
为了避免后续服务器故障等问题,在家里启动树莓派,对博客所在的服务器使用 rsync 做定期备份。

树莓派使用自带的 cron 服务,做定期启动任务。

打开 /etc/cron.d 目录,然后创建一个文件,文件不需要后缀名称。
如:bakblog

文件内容分为三部分,cron时间表达式 + 以某个用户启动任务 + 执行的命令

但是 这里 cron 的时间表达式,是 5 位,没有 秒和周。
file

示例如下,此任务在每小时的 37 分执行一次。

37 * * * * root /opt/wordpress_bak/bak.sh

可以的 https://cron.qqe2.com/ 生成表达式,然后把秒和周两个部位删除即可。
如:0 3 * * *,每天的凌晨 3 点,00 分执行一次任务。

然后重新加载 cron 配置或者重启。(等一下说)

为了便于测试和监控,需要把 cron 日志打印出来。

sudo vim /etc/rsyslog.d/50-default.conf 

去掉前面的 #

cron.*              /var/log/cron.log

重启:

service cron reload
# 或
service cron restart

然后等待执行时间到了后,查看日志。

root@ubuntu:/etc/cron.d# tail -f  /var/log/cron.log

Jan 21 09:35:10 ubuntu cron[150245]: (CRON) INFO (pidfile fd = 3)
Jan 21 09:35:10 ubuntu cron[150245]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
Jan 21 09:36:01 ubuntu cron[150262]: (CRON) INFO (pidfile fd = 3)
Jan 21 09:36:01 ubuntu cron[150262]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
Jan 21 09:37:01 ubuntu CRON[150268]: (root) CMD (/opt/wordpress_bak/bak.sh)

痴者工良

高级程序员劝退师

文章评论