crontab 的问题

crontab 的问题

我的脚本启动一个进程并将该进程的 PID 写入文件。当我从 shell 执行它时,它的工作原理如下:

process & echo $! > /home/xxx/PIDs/process.pid

但是当我让 cron 这样做时,进程被执行,但 PID 文件丢失了。这对我来说很奇怪。可能出什么问题了?

cronjob 是一个简单的@reboot触发器。正如杰夫·夏勒所说,我尝试过,

*/10 * * * * /home/xxx/bin/process & echo $! > /home/xxx/PIDs/process.pid

但这不起作用。

答案1

对我来说,听起来你的 cron 作业运行的用户没有权限将 PID 文件写入/home/xxx/PIDs/.

/home例如,如果例如通过 NFS 安装,或者可能是由于 SELinux 之类的原因,则可能会出现这种情况。

尝试检查本地电子邮件。在大多数设置中,cron 会通过电子邮件向本地 root 用户发送错误。

还可能值得尝试xxx通过在 crontab 中指定它来以用户帐户运行命令,或者以用户身份登录xxx并运行crontab -e以编辑 user 的“个人”crontab xxx

答案2

抱歉,我说脚本位于 exHDD 上的子文件夹中,这是不正确的,它们存储在 /home/subfolder 中,但不再重要了。重新安装 cron 就可以了。不明白为什么...

相关内容