linux – Raspberry pi中的Crontab不会运行非常简单的脚本

我是 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运行.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...