与windows系统默认将文件移到垃圾回收箱不同,UNIX命令“rm”直接将文件彻底删除。我曾经数次误删文件,给自己找了不少麻烦。痛定思痛,我模仿windows实现了solaris上的垃圾回收:删除文件时,文件被移至垃圾箱,cron job定时删除垃圾箱中的过期文件。具体做法如下:
1.        创建一个文件夹作为垃圾箱;
2.        创建脚本《del》,该脚本将参数中的文件移至垃圾箱;
3.        创建脚本《cleanRecycleBin.sh》,该脚本用于定时删除垃圾箱中的文件;
4.        创建cron job与空闲时刻(如午夜)执行《cleanRecycleBin.sh》。
脚本分别为:
script del:
#!ksh
while [ "$#" -ne 0 ]
do
        ext=__$(date '+%m%d%H%M%S')
        echo "moving $1"
        mv $1 ~lgfang/recycle.bin/$1$ext
        shift
done
echo "done"
script cleanRecycleBin.sh(只有一句话):
find /the/absolute/path/of/recycle.bin -atime 30 -exec rm {} \;
crontab 例子
0 1 * * * /the/path/of /script/cleanRecycleBin.sh
                  	
				
