catcutの日記

気ままに更新します。過去の制作物もそのうち公開します。

ラズパイとTwythonを使った自動リツイートシステムの構築について④


ラズパイを使って特定ユーザーのツイートを自動でリツイートするシステムを紹介します。いくつかの記事に分けて掲載する予定です。

面倒くささを3段階で示しておきます。★の数が多いほど面倒くさいです。

①下準備 ★★★

下準備A: twitter APIの利用申請 ★★★
下準備B: ラスパイの設定 ☆★★

②コーディング ☆☆☆

③定期実行の設定 ☆☆★

前回はTwitterAPIの設定を行いました。

catcut.hatenablog.com

今回は定期実行の設定について説明します。

方法はいろいろありますが、今回はcronというものを使います。


Youtubeに完成品の動作イメージを投稿しました。
youtu.be
youtu.be

PCでの操作

ラズパイ画面を操作します。

下のコマンドを実行します。

sudo apt-get install chkconfig cron





機能が有効か確認します。

sudo chkconfig cron



機能が無効であれば、有効にします。

sudo systemctl enable cron




crontabを編集します。

crontab -e




下のほうにカーソルを持っていき、入力します。

下のコマンドは入力例です。3時間ごとにカレントディレクトリを移動してouen.pyを実行しています。

* /3 * * * cd /home/pi/twython/project1; python3 ouen.py






5つの*は、”分”、”時”、”日”、”月”、”曜日”の設定を表します。*は特に指示がないことを表します。
例えば

5 * * * * cd /home/pi/twython/project1; python3 ouen.py

であれば、*時5分にタスクが実行されます。

5 5 * * * cd /home/pi/twython/project1; python3 ouen.py

であれば、毎日5時5分にタスクが実行されます。


"/"、","、"-"を駆使すれば様々な設定が可能です。

/5 * * * * cd /home/pi/twython/project1; python3 ouen.py

であれば5分おきにタスクが実行されます。

/5 1-5 * * * cd /home/pi/twython/project1; python3 ouen.py

であれば毎日1~5時の間で5分おきにタスクが実行されます。

/5 1,5 * * * cd /home/pi/twython/project1; python3 ouen.py

であれば毎日1時~2時と5時~6時の間で5分刻みににタスクが実行されます。

曜日については、
0:日曜日
1:月曜日
2:火曜日
3:水曜日
4:木曜日
5:金曜日
6:土曜日
7:日曜日
となっています。日曜日は0と7の2パターンあります。好きなほうで設定して下さい。


設定が終わったら「ctrl」+「x」を押して終了します。
保存しますかと聞かれたら「y」を押します。
エンターキーを押して保存します。元の画面に戻ります。




機能の確認をしたいので

* * * * * cd /home/pi/twython/project1; python3 ouen.py

を追加します。毎分タスクが実行されます。



ログを確認すると、無事にタスクが実行されていることがわかります。


とりあえず以上です。