古いファイルを置き換えずにプログラムで新しいcrontabファイルを追加する方法

古いファイルを置き換えずにプログラムで新しいcrontabファイルを追加する方法

私は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スケジュールされたコマンドを置き換えるには、一時ファイルを引数として実行してください。

参考までに:

答え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 -ecronjobとTilda()のリストが表示されます~

キーボードの挿入ボタンを押してモードを切り替え、最後のcronjobが終了したらEnterを押します。

tildaが削除され、ここに新しいcronjobを作成できます。

挿入モードを終了するには、Escキーを押してEnterキーを押して:wq!変更を保存します。

関連情報