[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 メーリングリストの案内