删除目录下的指定文件的shell脚本
本节内容:
用shell脚本 删除目录下的指定文件。
做日志备份时,由于替换了备份脚本没有完全测试通过,导致了备份目录遭到污染,如果所示:
需求描述:
test1、test2、test3仅存在nginx、coreseek、apche,删除掉所有其他的文件。
一个shell脚本,用了for+case,这里提示一个find命令,有兴趣的朋友可以研究下。
例子,shell脚本
#!/bin/bash
# site: www.jquerycn.cn
#
#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自动化脚本(定期清理、磁盘空间、搜寻关键字)
python shell是什么
linix和windows下的自动ftp脚本(shell bat)
用shell脚本找出文件中包含指定字段的文件(图文)
VBS脚本、BAT批处理删除自身的方法
PHP删除N分钟前创建的所有文件的小例子
bash shell脚本执行的几种方法