本节内容:
用shell/ target=_blank class=infotextkey>shell脚本 删除目录下的指定文件。
做日志备份时,由于替换了备份脚本没有完全测试通过,导致了备份目录遭到污染,如果所示:
需求描述:
test1、test2、test3仅存在nginx、coreseek、apche,删除掉所有其他的文件。
一个shell脚本,用了for+case,这里提示一个linuxjishu/14008.html target=_blank class=infotextkey>find命令,有兴趣的朋友可以研究下。
例子,shell脚本
#!/bin/bash
# site: www.jb200.com
#
#1.变量定义
root="/backup/log"
dirarr=("test1" "test2" "test3")
nodelete=("nginx" "coreseek" "system" "apache" "." "..")
#2.遍历删除
for dir in ${dirarr[*]}
do
filearr=$(ls $dir);
for file in ${filearr[*]}
do
case $file in
"nginx")
continue;;
"coreseek")
continue;;
"system")
continue;;
"apache")
continue;;
".")
continue;;
"..")
continue;;
*)
rm $root/$dir/$file;;
esac
done
done
>>> 您可能感兴趣的文章:
遍历目录处理特定目录的shell脚本
shell获取目录下(包括子目录)所有文件名、路径、文件大小
shell脚本实例:创建不存在的文件和目录
取得当前shell目录的方法
统计目录下文件大小的shell脚本实例
一个统计子目录大小的shell脚本
查找目录及子目录中同名文件的shell脚本(图文)
shell查找当前目录下大于1M的文件的三种方法
shell遍历目录处理特定目录的脚本
查看当前目录文件个数的shell命令
统计一个目录下文件数的组合命令
统计目录大小的shell脚本