服务器自动删除文件的脚本

737 查看

支持匹配路径 匹配文件名  多久没有访问的自动清理

复制代码 代码如下:

#用于各系统清理文件脚本,filepath  reg_filename fileatime
#author Foyon0806@gmail.com
#date   2013-8-22 14:51:52
#!/bin/sh

if [ $# -eq 0 ];then
    echo "Usage: sh auto_clear_file.sh clear_filepath clear_regfilename filecreatetime"
    echo "eg: sh auto_clear_file.sh /tmp/log/  user_log -7day"
    exit
fi

filepath=$1
regfilename=$2


if [ "-$3" = "-" ];then
    filectime=`date -d -7day '+ %s'`
else
    filectime=`date -d $3 '+ %s'`
fi

log=`ls $filepath | grep $regfilename`
echo $log

for file in ${log}
do
    echo $file
    fileatime=`stat -c %X ${filepath}${file}`

    if [ ${fileatime} -lt ${filectime} ]; then
        opt=`rm -f ${filepath}${file}`
        echo $opt
    fi 
done