incrontab -e
/home/owen/file_to_be IN_ALL_EVENTS /home/owen/abc.py
[email protected]:~$ cat abc.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
p = open('file_to_test', 'a+')
p.write("test")
p.close()
[email protected]:~$ 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
[email protected]:~$ echo "a" >> file_to_be
[email protected]:~$ 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
[email protected]:~$ 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スクリプトはincron
を引き起こしてきた。しかしPythonスクリプトが期待どおりに動作しdidn`tのようです。
誰もがなぜ知っていますか?
私がabc.pyを実行すると、 "test"が正しいファイルに追加されます。
これは問題の解決方法ではありません。しかし、ファイルオブジェクトを閉じることはちょうど良い習慣です。ファイルオブジェクトに対してcloseメソッドを使用できます。それとも、p: 'などでopen(" file_to_test ")を使用してpythonsを使用してください... –
ありがとう、私はやったが、まだ動作しません。 – wenchiching