rsync网络备份系统工具
选项与参数
-v :观察模式,可以列出更多的信息,包括镜像时的档案档名等;
-q :与 -v 相反,安静模式,略过正常信息,仅显示错误讯息;
-r :递归复制!可以针对『目录』来处理!很重要!
-u :仅更新 (update),若目标档案较新,则保留新档案不会覆盖;
-l :复制链接文件的属性,而非链接的目标源文件内容;
-p :复制时,连同属性 (permission) 也保存不变!
-g :保存源文件的拥有群组;
-o :保存源文件的拥有人;
-D :保存源文件的设备属性 (device)
-t :保存源文件的时间参数;
-I :忽略更新时间 (mtime) 的属性,档案比对上会比较快速;
-z :在数据传输时,加上压缩的参数!
-e :使用的信道协议,例如使用 ssh 通道,则 -e ssh
-a :相当于 -rlptgoD ,所以这个 -a 是最常用的参数了!
rsync三种运行方式
1 )本地同步
格式 :rsync option file1 file2
示例:将etc目录备份到tmp目录下
[root@mylinux 桌面]# rsync -av /etc /tmp/ ...................中间省略............... [root@mylinux 桌面]# ll -d /etc /tmp/etc/ drwxr-xr-x. 116 root root 12288 4月 21 23:18 /etc drwxr-xr-x. 116 root root 12288 4月 21 23:18 /tmp/etc/
2 )通过ssh通道连接同步
前提是服务器与客户端配置好ssh密钥互通认证,具体配置请查看这里
① 从服务器下载文件同步到本地
格式 : rsync option -e ssh user@server:file1 file2
② 从本地上传文件同步到服务器
格式 : rsync option file2 -e ssh user@server:file1
示例 :将服务器上的/etc备份到本地的/tmp下
[root@TestA tmp]# rsync -av -e ssh root@192.168.1.108:/etc /tmp/ .................上面省略................ etc/yum/pluginconf.d/fastestmirror.conf etc/yum/protected.d/ etc/yum/vars/ etc/yum/vars/infra sent 26102624 bytes received 17717 bytes 5804520.22 bytes/sec total size is 26033336 speedup is 1.00
注 :如果ssh端口不是22,那么需要写成这样的形式:
rsync -av "--rsh=ssh -p port” /file1/ IP:/tmp/file2/
3 )通过rsync服务进行同步
1. 在服务端启动 rsync , 看 /etc/xinetd.d/rsync 即可;
2. 编辑 /etc/rsyncd.conf 配置文件;
3. 设定好 client 端联机的密码数据;
4. 在 client 端可以利用:rsync -av user@hostname::模块名字 filepath
配置文件/etc/rsyncd.conf格式内容,配置完毕后执行命令rsync --daemon
[root@mylinux ~]# vim /etc/rsyncd.conf #port=873 #监听端口默认为873,也可以是别的端口 log file=/var/log/rsync.log #指定日志 pid file=/var/run/rsyncd.pid #指定pid address=192.168.1.108 #可以定义绑定的ip #以上部分为全局配置部分,以下为模块内的设置 [mylinux] #为模块名,自定义 path=/etc # 指定该模块对应在哪个目录下 use chroot=fasle #是否限定在该目录下,默认为true,当有软连接时,需要改为fasle max connections=4 # 指定最大可以连接的客户端数 read only=no #是否为只读 list=true #是否可以列出模块名 uid=root #以哪个用户的身份来传输 gid=root #以哪个组的身份来传输 #auth users=test #指定验证用户名,可以不设置 #secrets file=/etc/rsyncd.passwd #指定密码文件,如果设定验证用户,这一项必须设置,格式为:username:password hosts allow=192.168.1.201 #设置可以允许访问的主机,可以是网段
示例 :执行同步命令
rsync -av root@192.168.1.201::mylinux /tmp/