rsync配置教程centos,用rsync进行同步镜像和备份
教程来自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安装、配置和操作实例
标签:备份