將特定目錄下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


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