除非我登录,否则 crontab 不会在 VirtualBox 上运行

除非我登录,否则 crontab 不会在 VirtualBox 上运行

我在工作电脑的 VirtualBox 中运行 Ubuntu Server 9.04 作为开发环境。我在用户的 crontab 中放入了一些脚本,这些脚本在我通过 SSH 连接到虚拟机时全天运行。

昨晚,我关闭了 PuTTy 和所有其他正在运行的应用程序(VirtualBox 和 VM 除外),然后回家了。今天早上我回来发现我的 cron 作业根本没有运行,但当我通过 SSH 进入 VM 时,下一个计划的作业却运行了。我将计划设置为 5 分钟进行测试,再次断开连接,作业不再按计划运行。

它们似乎只有在我登录到机器时才会运行。显然,我希望即使我没有登录到虚拟机,它们也能按计划运行,否则就没有意义了。

是不是有什么地方我没有正确配置?

新的信息:

/var/log/cron.log 中现在有 3 个条目,内容是“私人目录挂载返回代码 [256]”...这些条目对应于 cron 作业应该运行的时间。

我以为它们应该以我的用户 ID 运行?为什么我自己的用户 ID 无法在我的主目录中运行脚本?

答案1

看起来您正在尝试以您的用户身份运行 cron 作业,并且您已经设置了某种形式的加密主目录。

当您登录时,您的主目录(或其中的某个子集)被解锁并挂载,但是当您注销时,您的主目录不可用,因此您的日志中会出现错误。

您应该删除加密,以另一个用户的身份运行 cron 作业,或者您可以尝试以您的用户身份运行该作业,但指定不同的环境(最值得注意的是 HOME)。

相关内容