rsync服务搭建--2018.5.8 [优化后最终版]

2018年5月8日 22:09:38
linux


第一步配置基础环境(按照本身的规划配置并不是每人的环境都一致)web


第一台服务器(RSYNC服务器):windows

rsync外网地址:10.0.0.41 centos

rsync内网地址:172.16.1.41,网段配置为172.16.1.0缓存

配置好双网卡,虚拟机第二块网卡配置为 LAN区段bash

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=



第二台服务器(NFS服务器):服务器

rsync外网地址:10.0.0.31 网络

rsync内网地址:172.16.1.31,网段配置为172.16.1.0dom

配置好双网卡,虚拟机第二块网卡配置为 LAN区段ssh


前期基础优化:

SElinux 关闭  

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config 


防火墙关闭

1. /etc/init.d/iptables stop 
2. chkconfig iptables --level 35 off

3. sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config 


时间同步:

写入开机启动配置文件中
echo "/usr/sbin/ntpdate -u cn.pool.ntp.org >/dev/null 2>&1; /sbin/hwclock -w" >>/etc/rc.d/rc.local 

编写定时任务配置文件,定时同步
vi /etc/crontab
*/10 * * * * /usr/sbin/ntpdate time.windows.com >/dev/null 2>&1;/sbin/hwclock -w 


更新yum源:

更换yum源
1. 清除yum源缓存
yum clean all
2.备份yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
3.更换 centos 7源
下载新的源: wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
4.添加epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
5.生成缓存
yum makecache



精简开机启动:

chkconfig|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk '{print "chkconfig",$1,"off"}'|bash


安装基础软件

yum install lrzsz nmap tree dos2unix nc -y


配置hosts文件(学习环境优化必备)

cat >/etc/hosts<<EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.7 web01
172.16.1.8 web02
172.16.1.9 web03
172.16.1.51 db01
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.61 m01
172.16.1.62 jumpserver
EOF


激活双网卡

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk= 

*###setup的启动网卡配置中 Controlled by NetworkManager 若是没法访问网络能够尝试去掉这个选选项 
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=



-----------------基础环境完成


rsync服务开始:


1. 检查rsync是否安装:

rpm -qa rsync


2.添加rsync服务的用户,管理本地目录

useradd-s /sbin/nologin -M rsync


3.生成rsyncd.conf 配置文件(默认没有须要手动建立)

touch /etc/rsyncd.conf


4. 写入配置到 /etc/rsyncd.conf 文件中(rsync默认配置文件)

默认不存在须要本身建立,而后写入如下内容


-----------------------------------------------


#created by HQ at 2017 
##rsyncd.conf start## 
uid = rsync 
gid = rsync 
use chroot = no 
max connections = 200 
timeout = 300 
pid file = /var/run/rsyncd.pid 
lock file = /var/run/rsync.lock 
log file = /var/log/rsyncd.log 
ignore errors 
read only = false 
list = false 
hosts allow = 172.16.1.0/24 
hosts deny = 0.0.0.0/32 
auth users = rsync_backup 
secrets file = /etc/rsync.password 
[backup] 
comment = "backup dir by oldboy" 
path = /backup

#rsync_config 

---------------------------------------------------


5. 编写服务器端密码配置文件

echo "rsync_backup:123456" >/etc/rsync.password    ##服务端须要用户和密码,而客户端仅须要密码


6. 给建立的密码文件配置属性,以避免被其余用户查看或修改

chmod 600 /etc/rsync.password


7.建立文件目录而且受权给rsync用户(用户推送数据或被拉取数据)

mkdir /bakcup -p

chown -R rsync.rsync /backup


8.启动服务而且检查服务是否启动

  rsync --daemon  服务器配置完成


9.加入到开机启动文件中,让其开机启动运行

echo "/usr/bin/rsync --daemon" >>/etc/rc.local


10 检查是否成功启动:

检查是否成功启动:lsof -i:873

[root@backup ~]# lsof -i:873 (进程启动成功,配置完成)

COMMANDPID USER FD TYPE DEVICE SIZE/OFF NODE NAME

rsync2002 root 4u IPv412746 0t0 TCP *:rsync (LISTEN)

rsync2002 root 5u IPv612747 0t0 TCP *:rsync (LISTEN)

----------------------------


配置完成后检查是否成功启动以及可否推送数据


须要用到客户端来实现推送拉取数据,因此还须要为客户端配置

客户端配置以下:

1. echo '123456' >/etc/rsync.password

2.chmod 600 /etc/rsync.password


客户端配置完成


测试数据的拉取或推送


客户端 输入密码的方式 拉取服务器数据:

rsync -avz rsync_backup@172.16.1.41::backup /backup

##由于模块定义的 [backup] = /backup  因此它拉取的数据就是 /bcakup/backup ,第二个backup其实是[backup] 模块定义的


客户端 密码文件的方式 拉取服务器数据

rsync -avz rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password  /     

## " / " 表明拉取到本地根下,由于backup 这个模块中定义的就是 /bcakup 因此 即便拉到根目录下 它拉取的 目录 /backup 在 根下,若是写成 /bakcup下.那么它  /backup/+[backup]  就等于了  /backup/backup,因此最终它会拉取到 /backup/backup . 若是想拉取到/backup目录下,就只能定义为  /  根 

 

客户端 输入密码方式  将数据推送到服务器

rsync -avz /backup rsync_backup@172.16.1.41::backup


客户端 密码文件方式  将数据推送到服务器

rsync -avz /backup rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password



以上就是rsync的数据推拉和使用密码文件免输入密码的方式进行服务器数据备份的方法.



一些小问题的解答:

在客户端下查看到 backup 这个目录的 所属组和主变成了500 

[root@nfs01 /]# ls -ld /backup/

drwxr-xr-x 2 500 500 4096 May  8 21:53 /backup/


这是由于 rsync的虚拟用户缘由 ,他没有家目录,只指定了uid=500  还记得前面的建立用户操做吗?

相关文章
相关标签/搜索