无来

不管你来还是不来
我都在这里,夜夜点亮
不是为了守候
只是为了做好我自己

0%

rsync进行网站异地镜像

站点远程同步脚本,实现数据库本地镜像。

如果源文件删除,目标文件夹也会删除。因此该脚本只能够作为镜像,不能作为备份

rsync.sh 执行脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh

path=$1

host=rsync@103.235.220.108
port=2222

dbuser=root
dbpwd=111111


#远程服务器运行dbdump.sh脚本dump数据库
echo "dump msyql"
ssh $host -p $port "~/dbdump.sh"

src=$host:/home/wwwroot/html
dst=/home/wwwroot/html
exculude=/home/wwwroot/rsync_exclude.list

echo "源:"$src/$path
echo "目标:"$dst/$path
rsync -avzO -e "ssh -p $port" --exclude-from=$exculude --delete $src/$path $dst/$path

echo ">>>更新数据库"
CurrentDate=$(date +%Y%m%d)
mysql -u$dbuser -p$dbpwd test < $dst/db/test.${CurrentDate}.sql

echo "同步完成"

rsync_exclude.list

忽略的文件,文件夹路径

1
2
3
.svn/
Upload/
logs/

dbdump.sh

1
2
3
4
5
6
#!/bin/sh
dbname=root
dbpwd=111111
CurrentDate=$(date +%Y%m%d)
dirPath=/home/wwwroot/html/db
mysqldump -u$dbname -pdbpwd test > $dirPath/test.${CurrentDate}.sql

demo

同步test文件夹

./rsync.sh test

显示进度条

添加参数--progress

rsync -av --progress  root@123.123.123.123:/root/mysql56.tar .