0

ファイルシステムにあります-> 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をスケジュールしていることは知っていますが(最初に動作させようとしているだけです)、1時間に1回にしたいと思います。

4

1 に答える 1

0

環境変数を確認してください。

Cron ジョブは、シェルの環境変数を継承しません。$HOME通常、 、$PATH(通常は のみ/usr/bin:/bin)、$SHELL、 、およびその他のいくつかの変数設定のみを取得します$PWD

スクリプトに必要な環境変数は、明示的に設定する必要があります。これは crontab 自体で行うか、スクリプトを更新して設定することができます (後者の方がおそらく優れた方法です)。

ちなみに、質問のcrontab:

1 * * * * /bin/bash ./usr/share/cacti/cli/cacti_moto_script.sh

コマンドを 1 時間に 1 回、正時の 1 分後に実行 (試行) します。1 分に 1 回実行するには、 を使用します* * * * *

#!/bin/bashまた、スクリプトが(最初の行の最初にある必要があります) で始まり、実行権限 ( ) があると仮定すると、明示的chmod +xに呼び出す必要はありません。/bin/bashスクリプトを直接実行するだけです。(#!結局のところ、それがラインの目的です。)

于 2014-03-18T21:54:59.283 に答える