1

このようなスクリプトを作成することは理にかなっていますか?それとも、スプール ファイルが破損する可能性はありますか?

メール スプール ファイルの最大サイズを 500MB に制御するか、1 か月間保持し、残りをアーカイブするかのいずれか早い方を実行できるようにしたいと考えています。

/var/spool/mail/* {
monthly
size 500M
missingok
rotate 24
notifempty
sharedscripts
}
4

1 に答える 1

0

これにはlogrotateを使用しませんでした。代わりに、スプール ファイルを /dev/null にリダイレクトして、それらを一掃しました。また、以前にメール サービスを停止し、クリーンアップ後に開始しました。必要に応じてこれを調整できます

echo "emailclean.sh starting on $(date)"
echo "Stopping fetchmail service"
#/sbin/initctl stop <service>
pkill fetchmail
sleep 10
echo "Cleaning up old mail"
cat /dev/null > /var/spool/mail/root
cat /dev/null > /var/spool/mail/webalert
sleep 10
echo "Starting fetchmail Service as user webalert"
sudo -u webalert /usr/bin/fetchmail
#/sbin/initctl start <service>
echo "Cleanup Complete! /var/spool/mail/root and webalert files sent to dev0"
echo "emailclean.sh finished cleanup on $(date)"
于 2013-11-16T03:21:46.150 に答える