我知道苹果已经废弃了cron,推荐使用launchd。但我想使用cron作业而不是launchd,因为launchd不能像cron一样提供相同的时间调度功能。
以下是我的解决方法:
在终端执行命令“sudo crontab -l | pbcopy”没有输出,
但执行命令“sudo crontab -l”会输出以下内容:
“* * * * * echo“test””
我必须添加sudo,因为cron作业是在root用户下运行。
现在我能够正确地看到错误 - 我的机器没有任何cron日志,并且没有将输出发送到邮件的正常cron行为。
我的解决方法只是创建一个txt文件并记录它。
以下是我的解决方法:
- 我已经允许我的/usr/sbin/cron具有完整的磁盘访问权限,并在root用户上设置了一个简单的作业“* * * * * echo“test””,以验证cron是否正在执行。
- 我检查了我的根邮件和用户邮件,然后指定cron发送到一个单独的电子邮件,但没有成功。
- 我还检查了我的cron.deny和at.deny文件,发现只有Guest无法执行cron作业。
- 然后我创建了一个cron.allow和at.allow文件,并将我的用户和根用户添加到这些文件中,但仍然没有成功。
在终端执行命令“sudo crontab -l | pbcopy”没有输出,
但执行命令“sudo crontab -l”会输出以下内容:
“* * * * * echo“test””
我必须添加sudo,因为cron作业是在root用户下运行。
现在我能够正确地看到错误 - 我的机器没有任何cron日志,并且没有将输出发送到邮件的正常cron行为。
我的解决方法只是创建一个txt文件并记录它。
* * * * * pathtojob >> pathtologfile 2>&1
>>
表示将内容追加到日志文件中,2>&1
表示将标准输出和错误写入到该文件。感谢那些帮助我进行故障排除的人。
crond
甚至不会启动。 - Mark Setchellcrond
是否正在运行?sudo ps -aef | grep cron
- Mark Setchell