大まかな流れ
- logファイルを入れるディレクトリ・ファイルを作成
- bashを書く
- cronに設定
詳細
1.logファイルを入れるディレクトリ・ファイルを作成
今回は「/home/mastodon/log/
」に「media-clear.log
」を作成した。
# su - mastodon
$ mkdir log
$ nano media-clear.log
media-clear.log
には何も書かなくてよい。
2.bashを書く
root
に戻ってbashを書く。
$ exit
# nano /usr/local/bin/media-clean.sh
bashファイル(media-clean.sh)
変数DAY
に残しておきたい日数(ここでは3日残している)を記入。export RAILS_ENV=production
で環境変数を設定し、実行コマンドで直接bundleのパスを指定するのがコツ。
その後、パーミッションを755に指定する。
# chmod 755 media-clean.sh
ここで一度テストをする。この時実際に削除コマンドを実行すると数時間単位で時間を食うので、削除コマンド3種をコメントアウトして実行すること。tootctl media usage
が実行&media-clear.log
に記録できてたらOK。
3.cronに設定
「mastodon」ユーザーで実行したいので、「/var/spool/cron/<ユーザー名>
」の方法で設定する。
# crontab -u mastodon -e
開いたら一番下にcronの呪文を書く。一番最初に利用するエディターを聞かれるので答える。
上記は「日曜日の午前3時」に実行するように指定。最後に保存してその時刻に動くかどうか確認する。(crontabはリロードしなくてもOK)