- linux系统没有回收站机制,删除文件就很难找回,如果把系统的/bin/rm文件替换为自定义的脚本,则可以做到回收站的功能
1, 替换rm命令
[root@eadage ~]
[root@eadage ~]
trashdir=/tmp/trash
[ ! -e $trashdir ] && mkdir -p $trashdir
permission=$(ls -ld $trashdir|awk '{print $1}' )
[[ $permission != "drwxrwxrwx" ]] && chmod 777 $trashdir
dest_filedirs=$(echo $@ |xargs -n 1 |grep -v '\-'|xargs)
for x in ${dest_filedirs[*]}
do
base_name=$(basename $x)
dir_name=$(dirname $x)
cd $dir_name && dir_name=$(pwd)
[ -e $trashdir/$base_name ] && cd $trashdir && mv $base_name $base_name.`date +%F_%T`
cd $dir_name && mv $base_name $trashdir
done
[root@eadage ~]
2, 定时清理:回收站
[root@eadage ~]
1 1 1 * * /bin/rm.bak -rf /tmp/trash/*