需求
	今天做日志备份的时候,由于昨晚替换了备份脚本没有完全测试通过,导致了我的备份目录遭到污染,如果所示:
	
	
	我的需求是test1、test2、test3仅存在nginx、coreseek、apche,删除掉所有其他的文件。我可以选择手动的一个个删除,但是身为程序员,各位懂得,写了一个shell脚本,用了for+case,大家有更好的方法欢迎跟帖,肯定是有的,我提示一个find命令,哈哈,看看大家的积极程度了,有留言我肯定回复!
	
	shell脚本
#!/bin/bash
	#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脚本删除N天前的文件夹-----附linux和mac上date命令的不同:http://www.linuxdiyf.com/linux/15440.html
使用shell脚本清空文件:http://www.linuxdiyf.com/linux/14991.html
使用C#给Linux写Shell脚本(下篇):http://www.linuxdiyf.com/linux/13694.html
使用C#给Linux写Shell脚本:http://www.linuxdiyf.com/linux/13692.html
linux Shell脚本编码格式:http://www.linuxdiyf.com/linux/14138.html

