应用场景:
1.有些文件已经上传到云渡的FTP目录,但是光闸同步失败导致没有同步过去,使文件形成堆积,此时需要使用定时任务去清理这些文件;
2.有些文件光闸同步成功了,但是第三方应用取文件失败,导致文件在云渡的FTP目录堆积,也需要通过定时任务去清理这些堆积的文件;
#!/usr/bin/bash
#外网定时任务:
#1、每小时清除/app/yundu/data1/exchange_in/node1/ 和 /app/yundu/data1/exchage_out/ 下1小时前的文件(文件包括空文件夹)
#2、每天定时清除/app/yundu/data1/ftp 下1天前的文件(文件不包括空文件夹)
#内网定时任务:
#1、每小时清除/app/yundu/data1/exchange_in/ 1小时前的文件(文件包括空文件夹)
#2、每半时清除/app/yundu/data1/exchange_out/node1 半小时前的文件(文件包括空文件夹)
#3、每天定时清除/app/yundu/data1/ftp 下1天前的文件(文件不包括空文件夹)
#使用举例:
#30 */1 * * * sh /home/dep/yunduRemove_cron.sh exch_out
#0 */1 * * * sh /home/dep/yunduRemove_cron.sh exch_in
#0 3 * * * sh /home/dep/yunduRemove_cron.sh ftp
function exch_out_clean()
{
dir=/app/yundu/data1/exchange_out/
#cd $dir
#删除周期为30分钟
min=30
echo "`date` find $dir -type d -mmin +$min -empty -exec rm -rf {} \;" >> ${filename}.log
#删除30分钟前的空文件夹
find $dir -mindepth 1 -type d -mmin +$min -empty -exec rm -rf {} \;
#删除30分钟前的文件
find $dir -type f -mmin +$min -exec rm -rf {} \;
}
function exch_in_clean()
{
dir=/app/yundu/data1/exchange_in/node1/
#cd $dir
#删除周期为60分钟
min=60
echo "`date` find $dir -type d -mmin +$min -empty -exec rm -rf {} \;" >> ${filename}.log
#删除60分钟之前的空目录
find $dir -mindepth 1 -type d -mmin +$min -empty -exec rm -rf {} \;
#删除60分钟之前的文件
find $dir -type f -mmin +$min -exec rm -rf {} \;
}
function ftp_clean()
{
dir=/app/yundu/data1/ftp/
#cd $dir
day=1
echo "`date` find $dir -type f -mtime +$day -exec rm -rf {} \;" >> ${filename}.log
#删除1天前的文件
find $dir -type f -mtime +$day -exec rm -rf {} \;
}
filename=`basename ${0%.*}`
param=$1
if [ $param == "exch_out" ];then
exch_out_clean
elif [ $param == "exch_in" ];then
exch_in_clean
elif [ $param == "ftp" ];then
ftp_clean
fi