我遇到过这样的情况: 我想在 Linux 服务器上使用 crontab 安排一个作业。我不是超级用户,所以我只编辑(使用 crontab -l,编辑器 vim)我的 crontab 文件。为了测试,我放在那里:
* * * * * echo asdf
并且作业没有运行。是否需要重启服务器?或者管理员可能会移动?
可能是这样,cron 作业将在它们自己的 shell 中运行。因此,您不能期望在控制台上看到
asdf
。
你应该尝试的是
* * * * * echo asdf > somefile_in_your_home_directory_with_complete_path.log
接下来通过尾部检查文件:
tail -f somefile_in_your_home_directory_with_complete_path.log
如果没有,请检查 cron 守护进程本身是否正在运行或已关闭:
# pgrep crond
或
# service crond status
如果你想在 shell 上回显某些内容,你可以使用 wall:
* * * * * echo "Hello from cron" | wall
它会将您的消息发送给当前连接到您的计算机的所有用户,显然包括您。
对我来说
* * * * * /bin/echo text > file
不起作用...我不知道为什么,特权和一切都已设置。
(当我将其作为特定命令执行时,该命令运行正常
root 用户,只是为了澄清这一点。)
这可以通过在我的示例中注入路径 PATH=$PATH:/bin
来解决。
相反,
* * * * * echo text > file
工作正常,可能是路径问题。
希望我有帮助