Linux下使用crontab命令实现定时执行任务(命令、脚本)

最近用Linux越来越多,所以很多东西都要研究一下在Linux下的实现。比如今天要研究的,在Linux下使用crontab命令实现定时执行任务。


在Linux中,如果我们想实现像Windows下的计划任务功能,则需要借助于crontab命令。crontab命令的安装如下:

yum install crontabs


编辑任务列表:crontab -e

格式如下:

* * * * * 要执行的命令或者脚本文件

分 时 日  月 周  要执行的命令或者脚本文件


第1列表示分钟0~59,每分钟用*或者 */1表示

第2列表示小时0~23,10-15表示10:00~15:00

第3列表示日期1~31

第4列表示月份1~12

第5列表示星期0~6(0或7表示星期日)

第6列是要执行的命令


如果发现定时任务执行不成功的话,先检查cron服务有没有启动

systemctl status cron

如果服务已经启动,那么检查一下有没有日志生成。日志文件:/var/log/cron.log,假如cron.log这个文件不存在的话,那么可能是没有启动日志服务或者没有启用cron服务的日志功能。


检查日志服务有没有启动:

systemctl status rsyslog

如果服务已经启动的话,那么检查日志服务的配置文件是否没有开启cron服务的日志


vim /etc/rsyslog.conf

找到#cron.* -/var/log/cron.log,把#去掉,然后重启日志服务:systemctl restart rsyslog

然后等待cron任务执行,再次查看/var/log/cron.log应该就有这个日志文件了


特别提示:大家一定要注意系统时间和时区,因为如果用的是国外的vps或者服务器的话,默认不是北京时间,如果我们按北京时间来设置定时任务的话,肯定是不准的。使用timedatectl命令可以查看当前系统时间和时区,使用命令timedatectl set-timezone Asia/Shanghai可以将时区设置为上海。

修改时区后,特别要注意的就是要重启cron服务,否则定时任务同样可能不生效。

重启cron服务命令:systemctl restart cron

  1. 本网站所收集的部分资料来源于互联网,本站不对其真实性负责,也不构成任何其他建议。如果您发现有侵犯您权益的内容,请与我们取得联系,我们会及时修改或删除。
  2. 传递知识、传递力量,欢迎各位网友对本站的文章进行转载和分享。
  3. 本站QQ群交流群:904314688  群号:904314688
发表评论
 
评论列表(目前共有 条评论)
暂时还没有评论哦~

文章搜索

商家广告


版权所有:秋风雅居 (www.198933.com) ©2024 All Rights Reserved.

粤ICP备20031662号