我遇到了这样的情况: 我想在一个Linux服务器上使用crontab来安排任务。我不是超级用户,所以我只编辑自己的crontab文件(用crontab -l和vim编辑器)。为了测试,我将以下内容添加到其中:
* * * * * echo asdf
工作没有运行。是否需要重新启动服务器?或者是管理员的操作问题?
我遇到了这样的情况: 我想在一个Linux服务器上使用crontab来安排任务。我不是超级用户,所以我只编辑自己的crontab文件(用crontab -l和vim编辑器)。为了测试,我将以下内容添加到其中:
* * * * * echo asdf
工作没有运行。是否需要重新启动服务器?或者是管理员的操作问题?
也许是这样,cron作业会在它们自己的shell中运行。因此,您不能指望在控制台上看到asdf
。
您应该尝试的是
* * * * * echo asdf > somefile_in_your_home_directory_with_complete_path.log
接下来通过执行tail命令检查文件:
tail -f somefile_in_your_home_directory_with_complete_path.log
如果不行的话,请检查cron守护进程是否正在运行或已关闭:
# pgrep crond
或者
# service crond status
crond
- Kedar Parikh/usr/sbin/cron
的进程 ID?日志文件中是否包含 asdf? - Kedar Parikhdate
-- cron >> crontest.log 来跟踪所有消息并检查时间。 - angoru如果您想在shell上输出信息,您可以使用 wall 命令:
* * * * * wall <<< "Hello from cron"
* * * * * echo "Hello from cron" | wall
echo test
将文件执行到墙上? - YGautomo* * * * * /bin/echo text > file
不起作用...我不知道为什么,权限和其他设置都已经完成。(当我以特定的 root 用户身份执行此命令时,它可以正常运行,只是为了澄清这一点。)这可以通过在我的示例中注入路径 PATH=$PATH:/bin
来解决。* * * * * echo text > file
正常工作,可能是路径问题。
cron
作业的输出不会发送到您的终端,因为crond
不知道您的终端在哪里。根据您的系统配置,通常会通过电子邮件发送给所有者(这可能是可能或不可能的)。有关更多信息,请参阅man cron
。 - Keith Thompson