local で crontab を簡単に設定する

(2024-12-15)

python を使って local での crontab 設定を簡素化します。

これは、私の wordpress のブログに書いておいたものですが、こちらにも記録しておきたいと思います。

gedit のインストール

chatGPT に相談したところ簡単に作ってくれました。

まずは、ソフトウェアマネージャーから gedit をインストールしておきます。

python

以下のような python を作成します。

setcron.py
import subprocess
import tempfile
with tempfile.NamedTemporaryFile(mode='w+') as temp_file:
subprocess.run(['crontab', '-l'], stdout=temp_file, check=True)
subprocess.run(['gedit', temp_file.name], check=True)
subprocess.run(['crontab', temp_file.name], check=True)
print("crontabが更新されました。")
password = "pass"
command = "systemctl start cron"
process = subprocess.Popen(command, shell=True, stdin=subprocess.PIPE)
process.communicate(input=(password + "\n").encode())

シェルスクリプト

以下のようなシェルスクリプトを作成して実行権限を与えておきます。

#!/bin/sh
python /home/moheno/iptv/setcron.py

実行

シェルスクリプトをダブルクリックで実行すると以下のような gedit 画面が表示されます。

この gedit 画面で編集した後に「保存」ボタンを押します。

以下のようにパスワードを聞かれるので入力すると、cron の編集内容が保存されます。