0
incrontab -e
/home/owen/file_to_be IN_ALL_EVENTS /home/owen/abc.py 

owen@desktop:~$ cat abc.py 
#!/usr/bin/env python
# -*- coding: utf-8 -*-
p = open('file_to_test', 'a+')
p.write("test")
p.close()

owen@desktop:~$ ll file_to_test file_to_be 
-rw-r--r-- 1 owen owen 32 2012-04-27 17:07 file_to_be
-rw-r--r-- 1 owen owen 60 2012-04-27 17:07 file_to_test

owen@desktop:~$ echo "a" >> file_to_be 
owen@desktop:~$ ll file_to_test file_to_be 
-rw-r--r-- 1 owen owen 34 2012-04-27 17:15 file_to_be
-rw-r--r-- 1 owen owen 60 2012-04-27 17:07 file_to_test


owen@desktop:~$ tail -n 3 /var/log/syslog
Apr 27 17:15:01 owen1 CRON[12003]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Apr 27 17:15:10 owen1 incrond[11574]: table for user owen changed, reloading
Apr 27 17:15:18 owen1 incrond[11574]: (owen) CMD (/home/owen/abc.py)

incronがトリガーされたようです

しかし、Pythonスクリプトは期待どおりに機能しませんでした。

誰もが理由を知っていますか?

abc.pyを実行すると、ファイルに「test」が追加されます。

4

2 に答える 2

3

おそらくスクリプトは機能していますが、期待どおりではありません...スクリプトによって生成されたファイルへのフルパスを入力してください。

 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 p = open('/tmp/file_to_test', 'a+')
 p.write("test")
 p.close()

次に、ファイル'/ tmp / file_to_test'が生成されることを確認します。問題は、incronを使用してスクリプトを実行する環境にある可能性があります。

于 2012-04-27T09:44:52.507 に答える
1

スクリプトは実行可能ではないようです。実行可能にするにはchmodを使用する必要があります(chmod + xabc.py)。

于 2012-04-27T09:24:06.990 に答える