首页 最新文章网站编程正文

定期删除垃圾数据的shell脚本(含子函数)

#!/bin/bash
FilePath=../$1
if [ $1 == 'browser/log' ]; then
    DelFileYY=`date -d '-8 days' +%Y`
    DelFileMM=`date -d '-8 days' +%m`
    DelFileDD=`date -d '-8 days' +%d`
DelFilePathMM=$FilePath/$DelFileYY/$DelFileMM
DelFilePath=$FilePath/$DelFileYY/$DelFileMM/$DelFileDD
elif [ $1 == 'player' ] || [ $1 == 'doms' ] ; then
    DelFileYY=`date -d '-37 days' +%Y`
    DelFileMM=`date -d '-37 days' +%m`
    DelFileDD=`date -d '-37 days' +%d`
    DelFileHour=`date -d '-37 days' +%0k`
DelFilePathMM=$FilePath/$DelFileYY/$DelFileMM
DelFilePathDD=$FilePath/$DelFileYY/$DelFileMM/$DelFileDD
DelFilePath=$FilePath/$DelFileYY/$DelFileMM/$DelFileDD/$DelFileHour
fi
function delyyyymmdd() {
if [ $DelFileMM == '01' ] || [ $DelFileMM == '03' ] || [ $DelFileMM == '05' ] || [ $DelFileMM == '07' ] || [ $DelFileMM == '08' ] || [ $DelFileMM == '10' ] || [ $DelFileMM == '12' ] ; then
if [ $DelFileDD == '31' ]; then
echo $(date) ==111==rm -fr $DelFilePathMM           >> ../logs/scheduleDelete.log
rm -fr $DelFilePathMM
echo $(date) ====$DelFilePathMM has be deleted   >> ../logs/scheduleDelete.log
echo         //////////////1111///////////////////   >> ../logs/scheduleDelete.log
fi
elif [ $DelFileMM == '02' ]; then
if [ $DelFileDD == '28' ]; then
echo $(date) ==222==rm -fr $DelFilePathMM           >> ../logs/scheduleDelete.log
rm -fr $DelFilePathMM
echo $(date) ====$DelFilePathMM has be deleted   >> ../logs/scheduleDelete.log
echo         ///////////////2222//////////////////   >> ../logs/scheduleDelete.log
fi
else
if [ $DelFileDD == '30' ]; then
echo $(date) ==333==rm -fr $DelFilePathMM           >> ../logs/scheduleDelete.log
rm -fr $DelFilePathMM
echo $(date) ====$DelFilePathMM has be deleted   >> ../logs/scheduleDelete.log
echo         ////////////////3333/////////////////   >> ../logs/scheduleDelete.log
fi
fi
}
if [ -d $DelFilePath ]; then
if [ $1 == 'browser/log' ]; then
echo $(date) ====rm -fr $DelFilePath           >> ../logs/scheduleDelete.log
rm -fr $DelFilePath
echo $(date) ====$DelFilePath has be deleted   >> ../logs/scheduleDelete.log
echo         ===============111==================== >> ../logs/scheduleDelete.log
delyyyymmdd
else
echo $(date) ====rSYNc --delete-before -d ../empty/ $DelFilePath            >> ../logs/scheduleDelete.log
rsync --delete-before -d ../empty/ $DelFilePath
echo $(date) ====$DelFilePath has be deleted     >> ../logs/scheduleDelete.log
echo             ------------222-----------------   >> ../logs/scheduleDelete.log
if [ $DelFileHour == '23' ]; then
echo $(date) ====rm -fr $DelFilePathDD           >> ../logs/scheduleDelete.log
rm -fr $DelFilePathDD
echo $(date) ====$DelFilePathDD has be deleted   >> ../logs/scheduleDelete.log
echo         =================333================== >> ../logs/scheduleDelete.log
delyyyymmdd
fi
fi
else
    echo $(date) ====$DelFilePath is Not exit        >> ../logs/scheduleDelete.log
    echo             -----------4444------------------   >> ../logs/scheduleDelete.log
fi
#转载请注明出处!

评论

精彩评论
觉得有用就打赏吧
关注本站公众号,享受更多服务!
联系方式
QQ:########
地址:中国·辽宁
Email:2727987445#qq.com
Copyright ©2015-2021.Powered by 云水客 | 网站地图 | 辽ICP备14000512号-5