实现自动清除日期目录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
新闻热点
疑难解答