實現自動清除日期目錄shell腳本實例代碼
很多時候備份通常會使用到基于日期來創建文件夾,對于這些日期文件夾下面又有很多子文件夾,對于這些日期文件整個移除,通過find結合rm或者delete顯得有些力不從心。本文提供一個簡單的小腳本,可以嵌入到其他腳本,也可直接調用,如下文供大家參考。
1、腳本內容
- [root@SZDB ~]# more purge_datedir.sh
- #!/bin/bash
- # Author: Leshami
- # Blog : http://blog.csdn.net/leshami
- RemoveDir=/log/hotbak/physical
- dt=`date+%Y%m%d-d"3 day ago"`
- forsubdirin`ls $RemoveDir`;
- do
- if["${subdir}"/<"${dt}"];
- then
- rm-rf $RemoveDir/$subdir >/dev/null
- echo"The directory $RemoveDir/$subdir has been removed."
- fi
- done
2、演示
- [root@SZDB ~]# ls /log/hotbak/physical
- 2014120320141210201412172014122420141231201501072015011420150125tmp.sh
- 2014120720141214201412212014122820150104201501112015012120150128
- [root@SZDB ~]# ./purge_datedir.sh
- The directory/log/hotbak/physical/20141203has been removed.
- The directory/log/hotbak/physical/20141207has been removed.
- The directory/log/hotbak/physical/20141210has been removed.
- The directory/log/hotbak/physical/20141214has been removed.
- The directory/log/hotbak/physical/20141217has been removed.
- The directory/log/hotbak/physical/20141221has been removed.
- The directory/log/hotbak/physical/20141224has been removed.
- The directory/log/hotbak/physical/20141228has been removed.
- The directory/log/hotbak/physical/20141231has been removed.
- The directory/log/hotbak/physical/20150104has been removed.
- The directory/log/hotbak/physical/20150107has been removed.
- The directory/log/hotbak/physical/20150111has been removed.
- The directory/log/hotbak/physical/20150114has been removed.
- The directory/log/hotbak/physical/20150121has been removed.
- [root@SZDB ~]# ls /log/hotbak/physical
- 2015012520150128
新聞熱點
疑難解答