一个安全删除文件的shell命令


一个安全删除文件的shell命令
 
以下脚本中的函数可以安全用来删除
delete xxxx
该命令会将xxx文件(或目录(不要再目录后加/))移动的~/backup下面,并同时打上时间标签,通过运行
delete_old
会将~/backup目录下的超过3000M的最旧的文件或目录删除掉,希望数据保护还是有一定的用处
 
# Description:  This function used to move some useless files in current folder to ~/backup/
#      Author:  fulinux
#     Version:  1.0.0 (Release by fulinux on 8th April. 2013)
 
 
function delete ()
{
   if [ -z $1 ]; then
      echo "delete it to backuo directory"
      echo "Usage: $FUNCNAME [express]"
      echo "Example: $FUNCNAME fulinux/"
      return;
   fi
 
 
   express=$1
   timestamp=$(date +%Y%m%d%H%M%S)
 
 
   rechristen=$1.$timestamp
 
 
   mv "$express" ~/backup/"$rechristen"
}
 
 
# Description:  This function used to search dir to fetch the oldest file
#      Author:  fulinux
#     Version:  1.0.0 (Release by fulinux on 8th April. 2013)
 
 
searchdir()
{
    oldestfile=`ls -rt | head -n 1 |awk '{print $1}'`
}
 
 
# Description:  This function used to remove oldest useless files in ~/backup folder if its size is more than 4000M
#      Author:  fulinux
#     Version:  1.0.0 (Release by fulinux on 8th April. 2013)
 
 
#This is the directory where backup files are kept
backup=~/backup
#maximum useless files
alarmrate=3000
 
 
function delete_old()
{
    cd $backup
    while true;
    do
        backup_size=`du -ms $backup | awk '{print $1}'`
        if [ $backup_size -gt $alarmrate ];
        then
            searchdir
            delete $oldestfile
        else
            break;
        fi
    done
}

相关内容

    暂无相关文章