1

ディレクトリ内のファイルの 1 つを監視するために incron を使用しています/var/www/html。の出力incrontab -l

/var/www/html/test IN_ACCESS /home/intel/test.sh

このジョブはホーム ディレクトリにファイルを作成することになっていますが、このジョブが実行されたとき (ブラウザで Web アドレスを開いたとき)、ファイルは作成されず、次の行は/var/log/cronファイルに表示されます。

Jan 20 10:27:57 localhost incrond[26442]: (root) CMD (/home/intel/test.sh)

これは、イベントが発生したことを明確に示しています。

PS:/home/intel/test.sh CLIで実行すると、問題なく動作し、テスト ファイルが作成されます。以下はtest.shファイルです。

#!/bin/bash
touch fm00
4

1 に答える 1

4

ほとんどの場合、この問題はスクリプト ファイルのアクセス許可とスクリプト ファイルの所有権が原因で発生します。私も同じ問題に直面しました。私の scrip 所有者はスーパー ユーザー (root など) ではないことがわかりました。

そのため、スクリプトの権限と所有権をスーパー ユーザーとして設定する必要があります。以下を参照。

まず、crontab をスーパー ユーザーとして編集します (以下のように RHEL で)。

[abc@host] crontab -e

crontab :wq! を保存します。

スクリプトの権限を設定します

[abc@host] chmod +x script.sh
[abc@host] chown root:root script.sh

crontab を再起動します (以下のように RHEL で)。

[abc@host] /etc/init.d/crond restart
于 2015-01-20T17:45:05.047 に答える