无法让cron运行脚本

时间:2015-02-07 13:05:01

标签: linux bash cron

我花了几天时间试图理解为什么以前在cron.d中运行的脚本不再起作用了。

在尝试了很多事情之后我感到很沮丧并将它们全部删除了。我想检查为什么cron不工作。我以pi身份登录。

我使用nano:

在cron.d目录中创建了一个文件
* * * * * pi bash //home/pi/cron.sh

我检查了cron文件的权限:

pi@raspberrypi //etc $ namei -l //etc/cron.d/mycronjobpi
f: //etc/cron.d/mycronjobpi
drwxr-xr-x root root /
drwxr-xr-x root root etc
drwxr-xr-x root root cron.d
-rwxrwxrwx root root mycronjobpi
pi@raspberrypi //etc $

我检查了cron.sh文件的权限:

pi@raspberrypi //etc $ namei -l //home/pi/cron.sh
f: //home/pi/cron.sh
drwxr-xr-x root root /
drwxr-xr-x root root home
drwxr-xr-x pi   pi   pi
-rwxrwxrwx pi   root cron.sh

脚本是:

#!/bin/sh
date >> //home/pi/crondate.txt

bash在键入bash时运行脚本,否则不会,尽管尝试了不同的shebang。

pi@raspberrypi //home/pi $ bash cron.sh
pi@raspberrypi //home/pi $ cron.sh
bash: cron.sh: command not found

有关信息,

pi@raspberrypi //home/pi $ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/home/user/bin


run-parts: executing //etc/cron.d/mycronjobpi
run-parts: failed to exec //etc/cron.d/mycronjobpi: Exec format error
run-parts: //etc/cron.d/mycronjobpi exited with return code 1

请解释为什么cron在重新启动后无效: sudo service cron restart。

可以看出,我相信文件权限是正常的,并且脚本在直接运行时可以正常工作。请帮忙。

我浪费了至少一天无处可去。 请帮忙。还请解释为什么在没有键入bash的情况下bash脚本无法运行。

获取信息

pi@raspberrypi //home/pi $ echo $SHELL
/bin/bash

pi@raspberrypi //home/pi $ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/home/user/bin

0 个答案:

没有答案