【问题标题】:Cron job stop working after mount operation装载操作后 Cron 作业停止工作
【发布时间】:2018-10-09 09:03:06
【问题描述】:

我有一个简单的 cron 作业,它只是将当前日期打印到日志文件中。出于测试目的,我已经完成了这个 cron 工作,每分钟发生一次。

crontab -u user01 -e

* * * * * echo "Date is $(date)" >> /home/user01/date.log

在我创建逻辑卷之前它是用来工作的,给这个逻辑卷赋予 ext4 格式并挂载到/home/user01。挂载操作后,它什么也不做。

在此之后,我只使用 (crontab -e) 创建了一个 crontab,这意味着我不提供用户名,并且 crontab 再次开始工作。但我想知道为什么我的第一个 crontab 在挂载后无法工作。

另外,我知道 /home/date.log 将在挂载操作后被删除,但 crontab 应该每分钟将输出写入 date.log 。

作为记录,安装没有任何问题。我检查 /etc/fstab 和 df -hT。 /home/user01 目录已挂载。 此外,我为另一个目录中的另一个用户(user02)尝试了完全相同的 cron 作业,并且它工作正常,因此没有任何语法或权限问题。

此外,当我检查 /var/log/cron 时,每分钟都会出现以下输出

(user01) CMD (echo "Today is $(date)" >> /home/user01/date.log)

(user02) CMD (echo "Today is $(date)" >> /home/user02/date.log)

此输出每分钟都会出现在日志文件中,因此我猜 crontab 正在工作,但没有为 user01 或其他东西提供输出。

感谢您的帮助

【问题讨论】:

  • 在 crontab btw 中的点是 *:D
  • 挂载的/home/user01目录有什么权限? (向我们展示ls -ld /home/user01 的结果)
  • 那个目录有 drwxr-xr-x 权限。我也试过 777

标签: linux cron mount


【解决方案1】:

您可以登录user01执行echo "Date is $(date)" >> /home/user01/date.log。成功了吗?

【讨论】:

  • 你这是什么意思?我可以登录到 user01 并且可以成功地将 echo "Date is $(date)" >> /home/user01/date.log 写入脚本并手动执行它,以便创建日志文件。但是当我把它交给 crontab 时,它不起作用
猜你喜欢
  • 2011-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-01
  • 2016-10-31
  • 1970-01-01
  • 2016-02-04
相关资源
最近更新 更多