rsync服务搭建--2018.5.8 [优化后最终版]
Posted 陈雷雷
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rsync服务搭建--2018.5.8 [优化后最终版]相关的知识,希望对你有一定的参考价值。
2018年5月8日 22:09:38
第一步配置基础环境(按照自己的规划配置并非每人的环境都一致)
第一台服务器(RSYNC服务器):
rsync外网地址:10.0.0.41
rsync内网地址:172.16.1.41,网段配置为172.16.1.0
配置好双网卡,虚拟机第二块网卡配置为 LAN区段
第二台服务器(NFS服务器):
rsync外网地址:10.0.0.31
rsync内网地址:172.16.1.31,网段配置为172.16.1.0
配置好双网卡,虚拟机第二块网卡配置为 LAN区段
前期基础优化:
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 |
激活双网卡
*###setup的启动网卡配置中 Controlled by NetworkManager 如果无法访问网络可以尝试去掉这个选选项
-----------------基础环境完成
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 还记得前面的创建用户操作吗?
以上是关于rsync服务搭建--2018.5.8 [优化后最终版]的主要内容,如果未能解决你的问题,请参考以下文章