我是
Linux的新手,我在RaspBerry Pi中一直在努力解决这个问题并且没有成功.
首先,我在/home/myfile.sh中编写了一个简单的脚本,如下所示:
#!/bin/bash clear echo "hi"
然后我做了sudo chmod 755 /home/myfile.sh来授予权限.
最后我使用crontab -e修改了crontab:
# some comments ... * * * * * /home/myfile.sh
问题:
当我手动运行脚本时它工作正常但是当我在我的crontab中设置上面的行时,什么也没发生.我究竟做错了什么?
解决方法
尝试将输出重定向到这样的文件:
* * * * * /home/myfile.sh > output_file.txt
你会看到它正在发挥作用.
Cron作业不会输出到您正在使用的同一终端.
编辑
如果您使用crontab -e来安排作业,则使用的是用户特定的crontab.因此,您只能写入该用户的主目录(或他有权访问的其他目录).所以如果你修改你的cron作业:
* * * * * /home/myfile.sh > /home/<username>/output_file.txt
如果要写入其他目录,我建议您在/ etc / crontab中使用系统范围的crontab
顺便说一句,您可能希望为cron作业启用日志记录以跟踪问题.您需要编辑/etc/rsyslog.conf或/etc/rsyslog.d/50-default.conf文件,并确保取消注释以下行,如果缺少则添加它:
cron.* /var/log/cron.log
然后重启rsyslog和cron:
sudo service rsyslog restart sudo service cron restart
现在你看看你的命令是否由cron运行.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。