教程来自rsync配置教程centos,用rsync进行同步镜像和备份

CentOS rsync配置

一、服务器端配置:

yum -y install xinetd

(编译安装)

下载最新的rsync稳定版本:https://rsync.samba.org/

tar -zxvf rsync-3.0.9.tar.gz
tar -zxvf rsync-patches-3.0.9.tar.gz
cd rsync-3.0.9
./configure
make
make install

安装完毕

然后配置rsync

vi /etc/xinetd.d/rsync

将如下代码

service rsync
  {
  disable = yes
  socket_type = stream
  wait = no
  user = root
  server = /usr/bin/rsync
  server_args = –daemon
  log_on_failure += USERID
}


中的 disable = yes 改成 disable = no

然后启动 xinetd

service xinetd restart

注意:如果服务器上装有防火墙记得要打开端口,默认端口是873

iptables -A INPUT -p tcp -m tcp --dport 873 -j ACCEPT
service iptables save 
service iptables restart

正式开始配置服务器端

vi /etc/rsyncd.conf (这个文件如果不存在自己创建)

uid = root 
gid = root
use chroot = no 
max connections = 0
secrets file = /etc/rsyncd.secrets 
log file = /var/log/rsyncd.log 
pid file = /var/run/rsyncd.pid 
lock file = /var/run/rsync.lock 
 
[test] #这里需要修改,客户端连接的时候需要指定这个模块名
path = /home/www.91yun.org #这个就是可以同步的目录
auth users = root #认证的用户名,只能是系统实际存在的用户名,如果多个,空格分隔开
read only = no 
list = yes 
ignore errors 
exclude = wp-config.php sitemap.xml wp-content/uploads #需要忽略的文件或者目录,空格分隔开

没有标识的可以不改

设置访问(认证)的用户名密码

vi /etc/rsyncd.secrets

root:111111 #用户名:密码,一行一个,密码最好别和系统密码一样。用户名就是上面设置的auth users

chown root:root /etc/rsyncd.secrets

chmod 600 /etc/rsyncd.secrets #(必须是600)

服务器端到此就配置完毕了,后面开始用户客户端同步服务器端的内容

二、client 端进行同步

客户端默认好像已经装了rsync,没有的话装下:

yum -y install rsync

客户端建立密码文件:

vi /etc/rsyncd.pas

加入密码

rsyncofpass

注意,客户端的密码文件只需要密码,而不需要用户名!
更改文件权限:

chmod 0600 /etc/rsyncd.pas

开始同步:

rsync -vzrtopgu --progress --delete --password-file=/etc/rsyncd.pas rsync_user@192.168.0.2::rsync_module_name1 /www/

这个命令行中-vzrtopg里的v是verbose,
z是压缩传输,
r是recursive,
topg都是保持文件原有属性如属主、时间的参数。
u是只同步已经更新的文件,避免没有更新的文件被重复更新一次,不过要注意两者机器的时钟的同步。
–progress是指显示出详细的进度情况,
–delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。
后 面的rsync_user@192.168.0.2::rsync_module_name1中,之后的rsync_module_name1是模块名, 也就是在/etc/rsyncd.conf中自定义的名称,rsync_user是指定模块中指定的可以同步的用户名。
最后的/www是备份到本地的目录名。
在这里面,还可以用-e ssh的参数建立起加密的连接。
可以用–password-file=/password/path/file来指定密码文件,这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。

这样就能同步了,如果要定时备份,可以把同步命令写进crontab。

相关
Nginx+PHP+MySQL双机互备、全自动切换方案[原创]
Rsysnc实现VPS主机文件备份同步-Rsysnc安装、配置和操作实例

标签:备份

你的评论