腳本功能 拷貝文件夾 及 子文件夾內文件 到 對應的 文件結構下 ,且拷貝前先進行備份spa
#!/bin/sh #create by lizr 2016-01-15 #腳本功能 #覆蓋文件前先備份 cfsuffix=$(date +%Y%m%d); #備份文件後綴 if [ $# -lt 2 ]; then #輸入參數說明 echo "error...need args" echo "eg:path1 path2" echo "path1 files backup and copy to path2" exit 1 else path1=$1; path2=$2; if [ -d "$path1" -a -d "$path2" ]; then cd $path1; find . -type d | while read dir do tpath1=${path1}${dir#.}; tpath2=${path2}${dir#.} ls $tpath1 | awk -F'[ ]' '{print $1}' | while read filename do sfile=$tpath1'/'$filename; #源文件 pfile=$tpath2'/'$filename; #需備份文件 cfile=$tpath2'/'$filename'.'$cfsuffix; #備份後文件 if [ -f $sfile ]; then if [ -f $pfile ]; then cp $pfile $cfile && a=1 || a=0; if [ $a -eq 1 ]; then echo $filename "backup success!"; cp $sfile $tpath2; else echo $filename "backup error!" fi else echo $pfile "not find!"; echo "cp "$sfile $tpath2; fi fi done done else echo "error...args path not find!"; fi fi