複数のモードで実行される Python スクリプトがあります。これらのモードの 1 つは特定のファイルを監視し、それらのファイルが変更されている場合、スクリプトはファイルを復元します。これを行う方法は、cron を介して毎分スクリプトを実行することです。
スケジュールされた時間が経過したときに crontab からスクリプトを削除する別の cron ジョブ (実際には、別の引数で呼び出される同じスクリプト) が存在します。当初、私は で crontab を操作しようとしていました/etc/cron.d
。このスクリプトは、コマンド ラインで実行した場合は期待どおりに動作しますが、cron から実行した場合は crontab を編集しません。
次に、一時ファイルの書き込みとスクリプトからの実行crontab tempfile
(経由)に切り替えました。subprocess.Popen
crontab が単に作成されていないため、これも機能しません。コマンドラインから実行crontab tempfile
し、スクリプトによって作成された一時ファイルを使用すると、期待どおりに機能します。
これは商用プロジェクトであり、そのライブラリはGPL化されているため、python-crontabライブラリを使用できません。
いずれかのアプローチが機能しないようにする、cron 固有の制限はありますか?