Crontab - 简单的echo不运行

zle*_*nyk 16 linux cron scheduling

我有这样的情况:我想在linux服务器上安排crontab的工作.我不是超级用户,所以我正在编辑(使用crontab -l,编辑器vim)只有我的crontab文件.为了测试,我把它放在那里:

* * * * * echo asdf
Run Code Online (Sandbox Code Playgroud)

这项工作没有开始.是否需要重启服务器?或者也许有些管理员搬家?

Ked*_*ikh 27

也许是这样,cron jobs将在自己的shell中运行.所以你不能指望asdf在你的控制台上看到.

你应该尝试的是

* * * * * echo asdf > somefile_in_your_home_directory_with_complete_path.log
Run Code Online (Sandbox Code Playgroud)

接下来通过尾巴检查文件:

tail -f somefile_in_your_home_directory_with_complete_path.log
Run Code Online (Sandbox Code Playgroud)

如果不是,请检查cron守护程序本身是否正在运行或已关闭:

# pgrep crond
Run Code Online (Sandbox Code Playgroud)

要么

# service crond status
Run Code Online (Sandbox Code Playgroud)


Ale*_*lex 8

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

* * * * * wall <<< "Hello from cron"
* * * * * echo "Hello from cron" | wall
Run Code Online (Sandbox Code Playgroud)

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