Linux计划任务程序crond简单应用

运用crontab 命令可以进行linux下的定时任务,就如windows系统中的计划任务

在centos7下测试

图片

图片

cron服务

//启动服务
systemctl start crond

//停止服务
systemctl stop crond

//重启服务
systemctl restart crond

//重新加载配置
systemctl reload crond 

要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入 /sbin/service crond start 即可

crontab进行计划任务

查看用户的crontab

[root@vultr bin]# crontab -l
00 05 * * * /opt/blog/bin/Timing.sh

[root@vultr bin]# crontab -l -u root
00 05 * * * /opt/blog/bin/Timing.sh

编辑crontab,输入 crontab -e (需要重启crond服务)

删除crontab,输入 crontab -r (会删除所有计划任务)

在运用过程中,发现计划任务没有执行,寻找了一些原因,总结如下

查看日志

[root@vultr bin]# tail -f /var/log/cron
Jan 22 02:44:36 vultr crontab[25585]: (root) LIST (root)
Jan 22 02:44:50 vultr crontab[25598]: (root) LIST (root)
Jan 22 02:45:33 vultr crontab[25634]: (root) BEGIN EDIT (root)
Jan 22 02:45:49 vultr crontab[25634]: (root) END EDIT (root)
Jan 22 02:46:09 vultr crontab[25667]: (root) DELETE (root)
Jan 22 02:46:14 vultr crontab[25672]: (root) BEGIN EDIT (root)
Jan 22 02:46:59 vultr crontab[25672]: (root) REPLACE (root)
Jan 22 02:46:59 vultr crontab[25672]: (root) END EDIT (root)
Jan 22 02:47:01 vultr crond[24384]: (root) RELOAD (/var/spool/cron/root)
Jan 22 02:47:03 vultr crontab[25715]: (root) LIST (root)

或者去查看/var/log路径下cron-XXX的日志文件

查看需要执行的程序是否正确

比如说我这次执行的是自己编写的一个shell程序,需要向文件写入内容,所以就检查一下改程序是否有相应的写入权限,以及程序本身是否能正常运行

系统时间

因为定时任务都会设定一个时间,到了预定时间没执行,需要检查一下系统时间是否正确,我就是这个原因,买的vps时间没有更新导致误以为定时任务没执行。

[root@vultr bin]# date -R
Tue, 22 Jan 2019 10:55:34 +0800

修改成本地时间

[root@vultr bin]# timedatectl set-timezone Asia/Shanghai
[root@vultr bin]# timedatectl set-ntp yes
[root@vultr bin]# date -R
Tue, 22 Jan 2019 10:19:54 +0800

本文链接:

https://ziyan1215.github.io/archive/1548124598/

# 最新文章