我正在尝试在Raspberry Pi 2b上编写我的第一个cron作业,以用户名pi
登录。请注意,我使用的是cron.d而不是crontab。
该作业旨在将时间写入位于目录cron.txt
中名为/home/pi
的文件。
cron文件名为mycronjob
,位于/etc/cron.d/
Itts行是:
***** /home/pi/scripts/cron.sh
cron.sh位于/ home / pi / scripts /。该文件在可执行之前包含
#!/bin/sh
Date >> /home/pi/cron.txt
我可以使用以下命令手动执行cron.sh文件:./ cron.sh 检查cron.txt显示日期已添加到文件中。 问题:cron应该每分钟运行一次并为文件添加时间但它不起作用。我希望能朝着正确的方向努力。
答案 0 :(得分:0)
你确定你的脚本运行正常吗?我想在bash中回应日期你应该做的事情如下:
#!/bin/sh
echo $(date) >> /home/pi/cron.txt
您的日期是某个特定功能还是系统变量?
为什么必须使用/etc/cron.d/
? /etc/cron.d/
中的脚本不会加载环境变量,这就是运行脚本时可能遇到问题的原因。此目录包含由程序包安装脚本创建的cron文件。
另一个问题是你的任务配置错误,每一分钟都要运行*/1
。
如果您需要加载环境变量,请使用/etc/crontab
,如下所述:https://www.raspberrypi.org/documentation/linux/usage/cron.md
每分钟运行的示例:
# in commandline run crontab, if necessary choose text editor
crontab -e
# add new line to your cron:
*/1 * * * * /home/pi/scripts/cron.sh
哦,请确保您的脚本可执行:chmod a+x /home/pi/scripts/cron.sh
。
为了确保你的cron守护进程没有死,请检查它是否在进程中:
ps -ef | grep cron