将特定目录下30天前的各日期文件夹打包、压缩、删除源文件并且转移到特定目录下

#!/bin/bash
#该脚本需要放到FILEDIR下执行,awk中的$变量需要根据FILEDIR的路径深度进行修改
FILEDIR=/opt/qianqu/upload/
BAKDIR=/data0/qianqupicbak/
find $FILEDIR -maxdepth 1 -mtime +30 -type d |awk -F '/' '{print $5".tar.gz"}''{print $5"/"}'|xargs -n2 tar --remove-files -zcvf
##注意有些系统的tar版本有问题--remove-files参数只能删除目录下的文件,但是目录结构不会删除。这时需要去掉该选项,然后使用下面的rm直接删除
##find $FILEDIR -maxdepth 1 -mtime +30 -type d |xargs rm -fr
mv $FILEDIR*.gz $BAKDIR


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章