shell脚本复制文件夹内容到另外的文件夹,如果存在则自动备份

有时我们需要将一个文件夹覆盖到我们的工作目录,但需要自动备份已经存在的文件,一个一个去备份太麻烦了,全部备份又没有必要。shell脚本可以很好滴完成这个任务。代码如下:

#!/bin/sh

upload_dir=/alidata/www/sh/useful-shell-script/upload/

www_dir=/alidata/www/sh/useful-shell-script/www/

backexist()

{

filelist=`ls $1`

for file in $filelist

do

if [ -f $1$file ]

then

if [ -f $2$file ]

then

cp $2$file $2$file”_bak_“`date +%Y-%m-%d`

fi

else

backexist $1$file”/“ $2$file”/“

fi

done

}

backexist $upload_dir $www_dir

cp -R $upload_dir”.” $www_dir