位于文件系统 - > tmp / crontab.iRppRO我有这个
1 * * * * /bin/bash ./usr/share/cacti/cli/cacti_moto_script.sh
这是我的脚本,当我在终端中运行时,它运行正常。它位于 /usr/share/cacti/cli/cacti_moto_script.sh
以及脚本。
#!/bin/bash
php -q add_device.php --description="x.x.x.x" --ip="x.x.x.x" --template=29 --community="Canopy"
php -q add_device.php --description="x.x.x.x" --ip="x.x.x.x" --template=29 --community="Canopy"
php -q add_device.php --description="x.x.x.x" --ip="x.x.x.x" --template=29 --community="Canopy"
php -q add_device.php --description="x.x.x.x" --ip="x.x.x.x" --template=29 --community="Canopy"
php -q add_device.php --description="x.x.x.x" --ip="x.x.x.x" --template=29 --community="Canopy"
php -q add_device.php --description="x.x.x.x" --ip="x.x.x.x" --template=29 --community="Canopy"
我知道我已经安排了每1分钟一次的crontab(只是试图让它先工作)但是我希望它每小时一次。
答案 0 :(得分:0)
检查您的环境变量。
Cron作业不会继承shell的环境变量。它们通常只会获得一些变量设置,例如$HOME
,$PATH
(通常只有/usr/bin:/bin
),$SHELL
,$PWD
以及其他一些设置。< / p>
无论您的脚本需要什么样的环境变量都必须明确设置。您可以在crontab本身中执行此操作,也可以更新脚本以便设置它们(后者可能是更好的方法)。
顺便提一下,问题中的crontab:
1 * * * * /bin/bash ./usr/share/cacti/cli/cacti_moto_script.sh
将在小时后一分钟(每小时)尝试运行一次命令。要每分钟运行一次,请使用* * * * *
。
假设您的脚本以#!/bin/bash
开头(必须位于第一行的开头),并且它具有执行权限(chmod +x
),则无需调用{{ 1}}显式。您可以直接执行脚本。 (毕竟,这就是/bin/bash
行的目的。)