远程同步服务器 rsync 服务器主从复制
2017-05-22 18:48
246 查看
我们经常需要备份图片,以下代码可以自动同步图片到你指定的服务器,前提是你设置了两台服务器互相信任。
参考如下文章之后再进行以下操作:参考文章:http://blog.csdn.net/zhezhebie/article/details/72626837
备份代码:
rsync -avz --delete --progress /www/chuxing.yunjiebao.cc/static/ueditor/php/* www@127.0.0.1:/www/chuxing.yunjiebao.cc/static/ueditor/php rsync -avz --progress /www/chuxing.yunjiebao.cc/static/uploads/* www@117.100.30.41:/www/chuxing.yunjiebao.cc/static/uploads
具体的rsync补充知识:
一、rsync的概述
rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。rsync是Linux系统下的文件同步和数据传输工具,它采用“rsync”算法,可以将一个客户机和远程文件服务器之间的文件同步,也可以在本地系统中将数据从一个分区备份到另一个分区上。如果rsync在备份过程中出现了数据传输中断,恢复后可以继续传输不一致的部分。rsync可以执行完整备份或增量备份。它的主要特点有:1.可以镜像保存整个目录树和文件系统;
2.可以很容易做到保持原来文件的权限、时间、软硬链接;无须特殊权限即可安装;
3.可以增量同步数据,文件传输效率高,因而同步时间短;
4.可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;
5.支持匿名传输,以方便进行网站镜象等;
6.加密传输数据,保证了数据的安全性;
二、镜像目录与内容
rsync -av duying /tmp/test
Linux下rsync的用法
查看/tmp/test目录,我们可以看到此命令是把duying这个文件夹目录连同内容全部考到当前目录下了
Linux下rsync的用法
rsync -av duying/ /tmp/test 注意:比上一条命令多了符号“/”
Linux下rsync的用法
再次查看/tmp/test目录,我们发现没有duying这个目录,只是看到了目录中的内容Linux下rsync的用法
三、增量备份本地文件
rsync -avzrtopgL --progress /src /dst
Linux下rsync的用法
-v是“--verbose”,即详细模式输出; -z表示“--compress”,即传输时对数据进行压缩处理; -r表示“--recursive”,即对子目录以递归的模式处理;-t是“--time”,即保持文件时间信息; -o表示“owner”,用来保持文件属主信息;-p是“perms”,用来保持文件权限; -g是“group”,用来保持文件的属组信息; --progress用于显示数据镜像同步的过程;
四、镜像同步备份文件
rsync -avzrtopg --progress --delete /src /dst
Linux下rsync的用法
--delete选项指定以rsync服务器端为基础进行数据镜像同步,也就是要保持rsync服务器端目录与客户端目录的完全一致; --exclude选项用于排除不需要传输的文件类型;
五、设置定时备份策略
crontab -e 30 3 * * * rsync -avzrtopg --progress --delete --exclude "*access*" --exclude "*debug*" /src /dst
如果文件比较大,可使用nohup将进程放到后台执行。
nohup rsync -avzrtopgL --progress /data/opt /data2/ >/var/log/$(date +%Y%m%d).mail.log &
六、rsync的优点与不足
与传统的cp、tar备份方式对比,rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如,定期地备份文件服务器数据到远端服务器,对本地磁盘定期进行数据镜像等。但是随着系统规模的不断扩大,rsync的缺点逐渐被暴露了出来。首先,rsync做数据同步时,需要扫描所有文件后进行对比,然后进行差量传输。如果文件很大,扫面文件是非常耗时的,而且发生变化的文件往往是很少一部分,因此rsync是非常低效的方式。其次,rsync不能实时监测、同步数据,虽然它可以通过Linux守护进程的方式触发同步,但是两次触发动作一定会有时间差,可能导致服务器端和客户端数据出现不一致。
相关文章推荐
- linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录
- MySQL主从服务器复制同步设置
- rsync远程同步web服务器的数据
- centos搭建rsync远程同步服务器
- 如何实现mysql主从服务器的半同步复制
- 用svn和Rsync和php做本地开发环境、测试服务器、远程服务器同步和更新
- 记一次rsync增量同步远程服务器文件
- mysql服务器复制的主从架构半同步的实现
- Linux下rsync的安装与配置远程服务器数据同步
- 第四章 从远程rsync服务器同步数据
- linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录
- CentOS平台实现搭建rsync远程同步服务器的方法
- Rsync使用非ssh默认端口从远程服务器同步文件到本地
- 记一次rsync增量同步远程服务器文件
- 利用rsync+inotify实现主从服务器数据同步的简单案例
- 从远程Oracle服务器上同步复制数据到本地备份库
- linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录
- rsync同步远程服务器数据(实战)
- SSH,SCP远程复制文件,rsync同步
- SQL远程服务器,同步数据触发器