Cron 作业不运行 [英] Cron Job Doesn't Run

查看:30
本文介绍了Cron 作业不运行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是使用 crontab 的新手,我一直在努力让一个简单的 cron 工作正常工作.cron作业的代码如下:

I am new to using crontab, and I've been trying to get a simple cron job working. The code for the cron job is as follows:

 */1 * * * * echo "job every minute"

所以只是为了概念验证,我希望每分钟都能看到这个打印出来.我曾尝试使用两者保存此 cron 作业

So just for proof-of-concept, I want to see this printed every minute. I have tried saving this cron job using both

 sudo crontab -e

并通过在目录中保存 crontab 文件 (cronscript) 并按如下方式启用脚本:

and by saving a crontab file (cronscript) in a directory and enabling the script as follows:

 crontab ~/Documents/MyProjects/cronscript

这是 cron 作业所在的路径.正如我通过键入

which is the path for where the cron job is located. Both of the identical jobs are saved properly, as I have verified by typing

  sudo crontab -e

和crontab -e

and crontab -e

进入终端,它们都会出现.我确保在每个命令之后都保存了一个换行符,并使用

into terminal and they both appear. I made sure there was a new line character saved after each command, and I checked to make sure cron is running by using

 pgrep cron

但是,我仍然没有将每分钟工作"打印到终端(每分钟),这是我认为这些命令应该做的.

However, I am still not getting "job every minute" printed to terminal (every minute) which is what I believe these commands should be doing.

我做错了什么?感谢您的帮助!

What am I doing wrong? Thanks for the help!

推荐答案

cronjob 运行得很好,但是 cron 守护进程(据我所知一般是守护进程)无法访问 stdout,因此无法将消息输出到终端.

The cronjob is running just fine, but the cron daemon (daemons in general as far as I know) have no access to stdout so cannot output messages to the terminal.

然而,要测试它,您可以使用

To test it you can, however, output what you want to a file using

*/1 * * * * echo "job every minute" >>$HOME/filename

每分钟将文本输出(并连接)到主目录中名为filename"的文件中.

which will output (and concatenate) the text to a file named "filename" in your home directory every minute.

这篇关于Cron 作业不运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆