我的 SSH 会话关闭后,Ubuntu 上的 Cron 任务会神秘地停止

我的 SSH 会话关闭后,Ubuntu 上的 Cron 任务会神秘地停止

我有一些 cron 作业用于确保 VPN 正在建立。一切正常,我时不时会检查一下。然而,早上我注意到 VPN 已关闭,cron 作业未运行。

我通过 SSH 登录并检查了我手动输入的 cron 作业日志,但没有任何错误,并且上次填充日志的时间是 20:00。

-rwxr-xr-x 1 ema ema 17K okt 10 20:00 dnsjob.log
-rw-rw-r-- 1 ema ema 17K okt 10 20:00 new_output.log
-rwxr-xr-x 1 ema ema 17K okt 10 20:00 vpnjob.log

我还检查了 cron 守护进程是否启动,一切似乎都正常。

不知何故,cronjobs 过了一段时间后才运行,但我不知道为什么。

有没有可能检查发生了什么?是否有任何“睡眠模式”,其中 cron 作业会无缘无故地暂停?

其中一个 cronjobs(dns 更新脚本)如下:

*/9 * * * * sudo /usr/sbin/ddclient -force 2>&1 >> /home/ema/scripts/crons/dnsjob.log

但是 dnsjob.log 内部一切看起来都很好,最后的输入是 10 月 17 日 20:00。

似乎当我通过 SSH 连接到系统时,crontab 可以工作,但是一旦我断开连接,它就会工作一段时间,最后停止执行任何操作。我一直试图在手册和日志中查找一些相关信息,但没有找到。

答案1

您正在使用加密主目录。当您退出服务器(关闭 ssh 会话)时,主目录已加密,因此您无法写入其中的文件。这是一项功能(也是加密主目录的要点)。

答案2

为其他用户添加日志文件的写入权限。然后尝试。

sudo chmod 666 /home/ema/scripts/crons/dnsjob.log

相关内容