您的位置:首页 > 运维架构 > Shell

shell脚本批量删除备份文件

2012-03-02 23:06 731 查看
最近在学shell ,书上有个备份文件实例,突然想到虚拟机root目录以前做了多备份,很乱,想批量删除,就有此实例了。

[root@bogon ~]# cat rmback.sh
#!/bin/bash
#rm backfile
for file in /root/*
do
if [ -f ${file} ]
then
if [ -e ${file}.bak ]
then
rm -rf ${file}.bak
if [ "$?" -eq "0" ];then
echo "${file}.bak  has been deleted"
else
echo "${file} can't be deleted"
fi
fi
fi
done

下面是用perl写的可以递归子目录查找.bak文件 ,然后删除,可能写的简陋,实验下还是可以跑

[root@bogon ~]# cat rmback.pl
#!/usr/bin/perl
#chulianwang@qq.com
#2012.3.2
#Recursion delete the dircetory so backfile
use strict;
use warnings;
use File::Find;
my @DIR = "/home/"; #定义遍历的目录
find(\&wanted, @DIR);
sub wanted { (/\.bak/) ? unlink $_ : print "$File::Find::name\n" }; #如果匹配.bak文件,删除,否则就输出文件路径
大家谁会用shell写个遍历目录的脚本,发个瞧瞧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息