今までsa-updateをしただけで、spamassassinの再起動を考えていなかった。(^_^;;
なので、sa-update後にspamassassinの再起動までを自動化することにした。
と言っても、そう大したことはしていない。
shell scriptを一つ作っただけである。
名前もそのまんま「sa-update.sh」と捻りも何にもない。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#!/bin/sh SA_UPDATE="/opt/local/libexec/perl5.34/sa-update" SPAMASSASSIN="/opt/local/libexec/perl5.34/spamassassin" updated=0 cd /var/tmp wget http://spamassassin.emaillab.jp/updates/GPG.KEY sudo "$SA_UPDATE" --import GPG.KEY rm GPG.KEY # 1回目:デフォルトチャンネルの更新 "$SA_UPDATE" if [ $? -eq 0 ]; then updated=1 fi # 2回目:emaillab.jpチャンネルの更新 "$SA_UPDATE" --channel spamassassin.emaillab.jp --gpgkey 22B8A63A if [ $? -eq 0 ]; then updated=1 fi # 更新があった場合のみ再起動 if [ $? -eq 0 ]; then # 再起動 sudo launchctl kickstart -k system/org.macports.spamd fi |
一応、ルールの更新があれば再起動する。
更新がなければスルーする。
序でにlocal.cfを更新した時用のMakefileも置いておこう。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# SpamAssassin用 Makefile 例 CONF_DIR = /opt/local/etc/mail/spamassassin TARGET = local.cf all: check backup restart # 構文チェック(エラーがあればここで止まる) check: /opt/local/libexec/perl5.34/spamassassin --lint # バックアップ作成 backup: cp $(CONF_DIR)/$(TARGET) $(CONF_DIR)/$(TARGET).bak # ルールの再読み込み(SpamDやAmavisd等の環境に合わせて変更) restart: sudo launchctl kickstart -k system/org.macports.spamd |
こちらは構文チェック後、問題がなければ再起動する。

