1。编写shell脚本www.gsm-guard.net
#!/bin/bash #配置定时任务方法 #crontab -e #输入命令并保存退出* * * * * /cloud/tesh/task4delExpiredFiles.sh >> /cloud/tesh/logs/task4delExpiredFiles_$(date "+\%Y-\%m-\%d").log 2>&1 函数删除文件(){ targetDir=$1 如果[! -d "$targetDir"];然后 echo "===>目标目录[${targetDir}]不存在,退出。" 返回 fi formatedTimeStr=$(日期 -d @$beforeTimeStamp "+%Y-%m-%d %T") echo "=========>$formatedTimeStr之前的文件即将被删除<=========" 已操作='假' #按照文件修改时间升序排列 用于 文件 中 `ls -rt $1` do dir_or_file=$1"/"$文件 filetimestamp=`stat -c %Y $dir_or_file`timecha=$[$filetimestamp - $beforeTimeStamp] 回声 "时间差异为 "$timecha 如果 [ $timecha -lt 0 ];那么 已操作='true' if测试-f $dir_or_file 然后 echo "===>删除文件 $dir_or_file ..." rm -f $dir_or_file elif测试-d $dir_or_file 然后 echo "===>删除$dir_or_file文件夹中的所有文件..." rm -rf $dir_or_file fi fi 完成 如果 [ $操作 = 'true' ];然后 echo 》===>过期文件删除完成。》 否则 echo "===>没有符合条件的过期文件,退出。" fi 回声》====================================== ===================” } #源文件根目录,手动配置base_file_dir=/cloud/tesh/文件 #获取当前时间戳,单位为秒,date --date=20151117 +%s 将指定时间转换为秒 current_timeStamp=`日期 +%s` #文件最大保留天数 max_file_keep_days=7 #计算时间差,以秒为单位 让 "diff=$max_file_keep_days*24*60*60" 让 "beforeTimeStamp=$current_timeStamp-$diff" echo "之前是 "$beforeTimeStamp #调用删除文件函数 删除文件 $base_file_dir
2.编写计划任务
执行命令 crontab -e
输入以下文字保存退出
* * * * * /tesh/www.gsm-guard.net >> /tesh/logs/task4delExpiredFiles_$(date "+\%Y -\ %m-\%d").log 2>&1