Rsync文件同步

来源:互联网 发布:河南民生频道网络直播 编辑:程序博客网 时间:2024/06/10 01:47

Rsync是Linux下的数据同步工具,常用于数据备份,代码发布等场景。

Rsync安装

Rsync分为服务端和客户端,两端的安装方式完全一样。我们使用源码安装

wget https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gztar -zxvf rsync-3.1.2.tar.gzcd rsync-3.1.2./configure --prefix=/usr/local/rsyncmake && make install

服务端配置

假设我们现在有两台机器A和B,要将A中的文件同步到B中,那么B就作为服务端。

rsync安装完成之后,我们需要手动创建配置文件(rsync没有帮我们创建配置文件)

cd /usr/local/rsycn/mkdir etccd etcvim rsyncd.conf

配置文件内容如下:

pid file = /var/run/rsync.pidlock file=/var/run/rsync.lockaddress = 115.28.70.19  #本机ip地址port = 873uid = rootgid = rootuse chroot = yesread only = no  #是否只读,如果yes的话,客户端无法同步文件到本机,但可以从本机同步文件到客户端max connections = 10 #最大连接数motd file = /usr/local/rsync/etc/rsyncd.motd #在此文件中可以编辑任意文字,在客户端进行同步操作时将显示该文件中的内容log file = /var/log/rsync.log #日志文件,同步时若发生异常可查看该文件transfer logging = yeslog format = %t %a %m %f %b #日志格式syslog facility = local3timeout = 300[demo]  #一个标示,可以配置多个,分别对应不同的想要同步的文件夹path = /home/www/deploy/demo/ #同步的目标路径list = yesignore errorscomment = demo #只是个注释secrets file = /usr/local/rsync/etc/rsync-demo.password #密码文件路径,把账号密码写在该文件中,客户端通过相同的账号密码和服务端连通[demo2] #参考上方demo1...

在上面配置文件中我们有配置了motd file,secrets file,我们需要手动创建几个文件。

motd file

vim /usr/local/rsync/etc/rsyncd.motd

内容可以随便写

secrets file

vim /usr/local/rsync/etc/rsync-demo.password

内容格式为 账号:密码

rsync:password

修改密码文件的权限

chmod 600 /usr/local/rsync/etc/rsync-demo.password

启动服务

上面都配置完成之后,就可以启动服务了

/usr/local/rsync/bin/rsync --daemon --config /usr/local/rsync/etc/rsyncd.conf 

--daemon :守护进程方式启动
--config : 指定配置文件

同步数据

在服务端主机上启动了rsync服务后,进入客户端主机,以相同的方法安装rsync(无需配置,只要安装即可)

创建密码文件(记得修改密码文件的权限,和服务端一样)

vim /usr/local/rsync/etc/rsync-demo.password

内容与服务端配置的密码文件一模一样

然后只要执行一条命令就可以将文件同步到服务端

rsync  --password-file=/usr/local/rsync/etc/rsync-demo.password  -zarv /home/wwwroot/default/market/  rsync@115.28.70.19::demo

命令中/home/wwwroot/default/market/是你本地要同步的文件夹
rsync@115.28.70.19是你密码中的账号与服务端的ip
demo是在服务端配置文件中配置的

排除文件

如果你想排除某些文件或目录,不进行同步,可以使用--exclude参数,有多个要排除的对象,可以多次使用--exclude

rsync  --exclude=Uploads/ --exclude=.git/ -zarv /home/wwwroot/default/market/  rsync@115.28.70.19::demo

更多参数可参考http://roclinux.cn/?p=2643

0 0
原创粉丝点击