您的位置:首页 > 其它

同台服务器目录之间的文件同步

2015-07-31 15:33 260 查看
应用背景:
公司一台阿里云服务器,上面既搭建测试环境,也有正式环境,现需要将测试环境测试好的程序无差异同步到正式环境中
此处本来可以用cp搞定的,老板说怕哪一天我不在公司其他人不会,所以让写个脚本,还有就是出于责任问题,同步的时候要产生同步日志。

#!/bin/sh
. /etc/init.d/functions

update=`date`
STTY_RESTORE=$(stty -g)

while true
do
echo -n "username:"
read username
echo -n "password:"

stty -echo cbreak

while true
do
character=$(dd if=/dev/tty bs=1 count=1 2>/dev/null)

case $character in
$(echo -e "\n"))
break
;;
$(echo -e "\b"))
if [ -n "password" ];then
echo -n -e "\b \b"
password=$(echo "$password"|sed 's/:$//g')
fi
;;
*)
password=$password$character
echo -n '*'
;;
esac
done

stty $STTY_RESTORE
if [ "$username" == "woniu" ] && [ "$password" == "woniu" ]
then
/bin/rm -rf /web/html/app.ori
/bin/cp -af /web/html/app /web/html/app.ori
/usr/bin/rsync -az --delete --password-file=/etc/rsyncmima.password /web/svn/php/php/ rsync_backup@127.0.0.1::woniu
echo "$username update the directory at $update" >> /var/log/updatewww.log
echo -e "\n请稍等"
echo -e "copying..............."
sleep 3
/usr/bin/diff /web/svn/php/php /web/html/app >/dev/null 2>&1
if [ `echo $?` == 0 ];then
action "copy directory" /bin/true
else
action "copy directory" /bin/false
fi
exit 0
else
echo -e "\n用户名或密码错误,请重新输入!"
fi

done

本文出自 “奋斗中的蜗牛” 博客,请务必保留此出处http://zhangyoucai.blog.51cto.com/2377123/1680571
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: