排查linux 定时任务cron crontab

简介:#

我在使用shell编程来实现DDNS服务的注册更新工作。

但是老发现cron不正常工作。为所有的排查做个指导记录吧。

一:检查cron编写#

*/1 * * * * echo hello >> /root/out.log

每分钟执行一次写入临时文件。

#查看cron日志
journalctl --no-pager --since today -g 'cron'
Mar 21 10:05:01 pve0 cron[920]: (root) RELOAD (crontabs/root)
Mar 21 10:05:01 pve0 CRON[2442599]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 21 10:05:01 pve0 CRON[2442599]: pam_unix(cron:session): session closed for user root
Mar 21 10:06:01 pve0 CRON[2442754]: pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
Mar 21 10:06:01 pve0 CRON[2442754]: pam_unix(cron:session): session closed for user root

二:检查命令编写#

写个测试脚本,存为/root/test.sh

#!/bin/bash
time_s=$(date "+%Y-%m-%d %H:%M:%S")
echo $time_s >> /root/out.log

写cron

*/1 * * * * /root/test.sh

三:检查shell编写#

直接执行你的shell,看有什么问题吧。

注意:#

执行 ./***.sh 和执行 /root/***.sh是不一样的,就和windows快捷方式启动位置的概念一样。

你在crontab写的是完整路径的脚本,那么相对路径位置是不同的,所以

手动执行

bash /root/***.sh  才和craontab执行效果一致。

cron执行:

或者执行 cd root && ./****.sh

或者执行 cd root && /root/****.sh

 

作者:上官飞鸿

出处:https://www.cnblogs.com/jackadam/p/18086749

版权:本作品采用「知识共享-署名-非商业性-禁止演绎(CC-BY-NC-ND)」许可协议进行许可。

posted @   上官飞鸿  阅读(99)  评论(0编辑  收藏  举报
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示