linux中部署rsync实现文件远程备份及同步(centos x64 6.8)

默认centos都有安装 如果没有可以先检查

rpm -qa rsync  
yum install rsync 

服务端部分(备份服务器)

1.写配置文件

vi /etc/rsyncd.conf

/etc/rsyncd: configuration file for rsync daemon mode

See rsyncd.conf man page for more options.

configuration example: uid = rsync gid = rsync

use chroot = yes

list = yes

address = 192.161.1.1 max connections = 10 pid file = /var/run/rsyncd.pid log file = /var/log/rsyncd.log

exclude = lost+found/

transfer logging = yes

timeout = 900

ignore nonreadable = yes

dont compress = .gz .tgz .zip .z .Z .rpm .deb .bz2 [data] path=/www/data/ transfer logging = yes ignore errors

read only = no list = no hosts allow = 192.168.1.1,192.168.1.2
auth users = test secrets file = /etc/rsync.password

[ftp]

path = /home/ftp

comment = ftp export area

注释:
uid = nobody
进行同步或者备份的用户,nobody 为任何用户
gid = nobody
进行备份的组,nobody为任意组
use chroot = no
如果”use chroot”指定为true,那么rsync在传输文件以前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要以root权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true.但是这个一般不需要,我选择no或false
list = no
不允许列清单
max connections = 10
最大连接数
timeout = 600
覆盖客户指定的IP超时时间,也就是说rsync服务器不会永远等待一个崩溃的客户端。
pidfile = /var/run/rsyncd.pid
pid文件的存放位置
lock file = /var/run/rsync.lock
锁文件的存放位置
log file = /var/log/rsyncd.log
日志文件的存放位置
[data]
这里是认证模块名,即跟samba语法一样,是对外公布的名字
path = /www/data/
这里是参与同步的目录
ignore errors
可以忽略一些无关的IO错误
read only = no
允许可读可写
list = no
不允许列清单
hosts allow = 192.168.1.0/255.255.255.0
这里跟samba的语法是一样的,只允许192.168.21.0/24的网段进行同步,拒绝其它一切
auth users = test
认证的用户名
secrets file = /etc/rsyncd.password
密码文件存放地址
注意:
[backup] 认证模块名和 path = /www/backup/ 参与同步的目录
这里的path 大家要记好了,这里不要随便的一设置就直接完事,要知道这里是认证模块的,以后从客户机备份的数据会存储在这里。
auth users = redhat 认证的用户名
这个名字是服务器端实实在在存在用户,大家不要直接跟步骤走却忽略了这点。如果服务器端少了这个的话我估计你的数据同步就实现不了,大家要谨记。
2.创建用户

groupadd rsync
useradd rsync -g rsync
3.创建密码
echo "rsync:rsync666" > /etc/rsync.password 
chmod 600 /etc/rsync.password  
4.启动服务和开机自启动 开放端口 启动
rsync --daemon
自启动
vim /etc/rc.local 
加入
/usr/bin/rsync --daemon
开放端口
iptables -A INPUT -p tcp --dport 873 -j ACCEPT
service iptables save
service iptables restart

5.设置备份目录权限

chown -R rsync:rsync /www/data/
客户端设置(上传服务器) =========================================== 6.设置密码 服务端设置的密码(sync666)
echo "rsync666" > /etc/rsync.password
chmod 600 /etc/rsync.password  
7.编写上传脚本
vi /root/rsync.sh



#!/bin/bash rsync -avzP /www/data/ test@192.168.1.3::data --password-file=/etc/rsync.password

说明:
/www/data/ 为需要上传的目录
data 为服务端配置的 [data]选项
8.设置计划任务运行

crontab -e

加入

00 06 * * * /root/rsync.sh

定时为 每天 6点同步一次

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页