Crontab - 简单回显不是 运行

Crontab - simple echo not running

我有这样的情况: 我想在 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 守护程序本身是 运行ning 还是已关闭:

# pgrep crond

# service crond status

对我来说 * * * * * /bin/echo text > file 不起作用...我不知道为什么,特权和一切都已设置。 (这个命令是 运行 normaly 当我执行它作为特定的 根用户,只是为了澄清这一点。) 这可以通过在我的示例中注入路径 PATH=$PATH:/bin 来解决。

相反 * * * * * echo text > file 工作正常,可能是路径问题。

希望我帮到了你

如果您想在 shell 上回显某些内容,您可以使用 wall:

* * * * * wall <<< "Hello from cron"
* * * * * echo "Hello from cron" | wall

这两行基本上做同样的事情,但第一行可能不适用于旧的 shell,只需选择你最喜欢的。
无论如何,请注意 wall 会将您的消息发送给当前连接的每个用户。