[mew-dist 22390] trash rotate
FUKANO Akihiro
fukano at example.com
2002年 12月 4日 (水) 01:09:50 JST
To:mew-dist
trash の溜まり続けるファイルをみなさんどうされていますか?
私は、文末のような shellスクリプトを定期的に起動して昔の
trash ディレクトリーを削除しています。
shell で動かすより、elisp のほうが良いな思っているのですが、どなたか
ローテートプログラムを elisp 作成していますか?
深野 哲洋
--------------------------------------------------------------------
#!/bin/sh
Usage () {
echo "rotate-trash-weekly.sh [ <Mail directory> ] [ <rotate> ]"
}
Maildir=$1
Count=${2:-4}
Trash=trash
RotateTimeStamp=.rotate-trash
WeekOfYear=`date +%W`
if [ "x$HOME" != 'x' ]
then
if [ "x$Maildir" = 'x' ]
then
Maildir=$HOME/Mail
fi
fi
if [ x$Maildir = x ]
then
Usage
exit 1
fi
cd $Maildir
if [ -f $RotateTimeStamp ]
then
if [ x$WeekOfYear = x`cat $RotateTimeStamp` ]
then
exit 0
fi
fi
rm -f $RotateTimeStamp
echo $WeekOfYear > $RotateTimeStamp
[ -d $Trash.$Count ] && rm -fr $Trash.$Count # Max Nubmer directory
while [ $Count -ge 1 ]
do
Next=$Trash.$Count
if [ ! -d $Next ]
then
Count=`expr $Count - 1`
[ -d $Trash.$Count ] && mv $Trash.$Count $Next
else
echo "Error $Next exist" >&2
exit 1
fi
done
if [ $Count = 0 ]
then
[ -d $Trash ] && mv $Trash $Trash.1
mkdir $Trash
chmod 0700 $Trash
fi
Mew-dist メーリングリストの案内