以一个基准站进行同步当前服务器所有其他站点,可以更新文件夹/文件
#!/bin/bash
# 备份路径
tmp="/backup/tmp"
# 运行环境路径
run="/data/mystack/sites"
# 主站(基准站的文件夹名称, 所有站以这个网站为准)
main="此处填写基准站文件夹名称"
# 备份时添加时间
time=$(date "+%Y%m%d%H%M%S")
# 需要同步的目录或文件 (结尾不要有"/")
dir[${#dir[@]}]="/www/wjj
dir[${#dir[@]}]="/www/test.jpg"
cd $run
[ ! -d "$tmp" ] && mkdir -p "$tmp"
find . -maxdepth 1 -type d ! -name '.' ! -name '*_dummy*' ! -name '*test*' ! -name "*$main*" -name '*sdjnck*' -exec basename {} \; | while read -r site; do
for tail in ${dir[@]}; do
path="$run/$site$tail"
if [ -e $path ]; then
if [ -d $path ]; then
mv $path $tmp/${tail##*/}_${site%%.*}_$time
else
mv $path $tmp/$(basename "$tail" | cut -d. -f1)_${site%%.*}_$time.${tail##*.}
fi
fi
[ ! -d "$(dirname $path)" ] && mkdir -p "$(dirname $path)"
[ ${tail##*/} != "caches_template" ] && cp -ru $run/$main$tail $(dirname $path)
done
echo ${site%%.*} "同步完成!"
done
echo "--------------------------------------"
echo "基准网站:"$main
echo "备份目录:"$tmp
echo "服务器时间:"$(date "+%Y年%m月%d日 %H时%M分%S秒")
echo "所有网站同步完成!"
echo "--------------------------------------"
运行:sh 脚本文件名
如:sh test.sh