私はRaspberry Pi(OS - Raspbian)を使用して小規模ホームオートメーションプロジェクトを開発しています。
crontab -e
?の前のエントリを置き換えずにpython-crontabモジュールを使用して複数のcrontabファイルを追加する方法を知りたいです。
2つのPythonスクリプトをプログラムでスケジュールしたい(手動でcrontab -e
ファイルを追加せずに)。最初のスクリプトは5分ごとに実行され、他のスクリプトは2分ごとに実行されます。
python-crontabモジュールを使用して最初のスクリプトを正常に予約しましたが、2番目のスクリプトを予約した場合crontab -e
。
crontabスケジューリングの他の方法がある場合は、サンプルコードと一緒に提案してください :)
注: - 手動で追加する代わりに、Pythonスクリプトのみを使用してcrontabでPythonスクリプトをスケジュールしたいと思いますcrontab -e
。
答え1
cronにエントリを追加するスクリプトを作成するには(テキストエディタを使用せずにcrontab -e
)。
crontab -l
一時ファイルとして実行- 最新のコマンドがすでにファイルにあることを確認してください。その場合は停止してください。
- 一時ファイルに最新のコマンドを追加する
crontab
スケジュールされたコマンドを置き換えるには、一時ファイルを引数として実行してください。
参考までに:
- スケジュールされたタスク(1)- 個々のユーザーのためのcrontabファイルの維持
- スケジュールされたタスク(5)- cronを駆動するために使用されるテーブル
答え2
crontabは最終的にテキストファイルなので、テキストを直接追加するのはどうですか?
with open("/var/spool/cron/crontabs/john", "a") as ctfile:
ctfile.write("1 0 * * 3 /path/to/newcommand --option")
答え3
crontab -e
実際にすべてのcronjobを一覧表示するファイルです。
入力すると、以前のcrontab -e
cronjobとTilda()のリストが表示されます~
。
キーボードの挿入ボタンを押してモードを切り替え、最後のcronjobが終了したらEnterを押します。
tildaが削除され、ここに新しいcronjobを作成できます。
挿入モードを終了するには、Escキーを押してEnterキーを押して:wq!
変更を保存します。