Crontab - 简单的 echo 未运行

问题描述 投票:0回答:3

我遇到过这样的情况: 我想在 Linux 服务器上使用 crontab 安排一个作业。我不是超级用户,所以我只编辑(使用 crontab -l,编辑器 vim)我的 crontab 文件。为了测试,我放在那里:

* * * * * echo asdf

并且作业没有运行。是否需要重启服务器?或者管理员可能会移动?

linux cron scheduling
3个回答
55
投票

可能是这样,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

8
投票

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

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

它会将您的消息发送给当前连接到您的计算机的所有用户,显然包括您。


1
投票

对我来说

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

相反,

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

希望我有帮助

© www.soinside.com 2019 - 2024. All rights reserved.