rsyncd服务及搭建备份服务器

rsyncd服务及搭建备份服务器

1、备份服务器backup操作

##1)安装 [root@backup ~]# rsync --version                    <=======查看版本rsync  version3.1.2protocol version31[root@backup ~]# yum install rsync                  <=======安装

2)配置配置文件/etc/rsyncd.conf

[root@backup ~]# cp /etc/rsyncd.conf{,.ori}      <=======备份文件[root@backup ~]#cat>/etc/rsyncd.conf<

man rsync 查命令的参数

man rsyncd.conf 查配置参数

https://www.samba.org/ftp/rsync/rsync.html

3)创建用户和备份目录

[root@backup ~]# useradd rsync          <===========创建rsync用户[root@backup ~]# id rsync                    <===========查看rsync用户uid=1001(rsync) gid=1001(rsync) 组=1001(rsync) [root@backup ~]# mkdir -p /backup    <===========创建目录/backup[root@backup ~]# chown -R rsync.rsync /backup/  <====修改/backup目录所属用户 用户组[root@backup ~]# ls -ld /backup/          <===========查看/backup目录属性信息drwxr-xr-x2rsync rsync64月1512:12/backup/

4)启动和检查rsyncd服务和服务状态

rsync --daemon(c6及以前) systemctl start rsyncd systemctlenablersyncd systemctl status rsyncd

检查进程

[root@backup ~]# ps -ef|grep sync|grep -v grep    #检查进程root75211011:39?00:00:00/usr/bin/rsync --daemon --no-detach

检查端口

[root@backup ~]# netstat -lntup|grep 873              #检查端口tcp000.0.0.0:8730.0.0.0:*LISTEN7521/rsync          tcp600:::873:::*LISTEN7521/rsync

[root@backup ~]# lsof -i :873 #检查端口

COMMAND  PID USER  FD  TYPE DEVICE SIZE/OFF NODE NAME

rsync  7521 root    3u  IPv4  41439      0t0  TCP *:rsync (LISTEN)

rsync  7521 root    5u  IPv6  41440      0t0  TCP *:rsync (LISTEN)

5)配置密码文件

[root@backup ~]# echo "rsync_backup:oldboy" > /etc/rsync.password    <===创建用户信息和密码文件[root@backup ~]# chmod 600 /etc/rsync.password                                  <===修改文件属性 必须为600[root@backup ~]# cat /etc/rsync.password                                                <===查看用户信息和密码文件rsync_backup:oldboy[root@backup ~]# ls -l /etc/rsync.password                                                <===查看文件权限信息-rw-------1root root204月1511:51/etc/rsync.password

rsync服务端配置完成。

2、客户端服务器操作web01或nfs01

最好使用第二种

方法1:认证密码文件

[root@nfs01 ~]# echo "oldboy" > /etc/rsync.password    <===设置密码文件[root@nfs01 ~]# chmod 600 /etc/rsync.password            <===修改文件属性 必须为600[root@nfs01 ~]# cat /etc/rsync.password                          <===查看用户密码文件oldboy    [root@nfs01 ~]# ls -l /etc/rsync.password                          <===查看文件权限信息-rw-------1root root74月1511:55/etc/rsync.password

方法2:

[root@nfs01 ~]# echo ' export RSYNC_PASSWORD=oldboy' >>/etc/bashrc  <===设置全局变量[root@nfs01 ~]# tail -1 /etc/bashrc                                                                  <===查看变量信息export RSYNC_PASSWORD=oldboy    [root@nfs01 ~]# . /etc/bashrc                                                                          <=== 使变量生效[root@nfs01 ~]# echo $RSYNC_PASSWORD                                                    <===输出变量 检查oldboy

rsync客户端 nfs01 配置完成

3、守护进程模式,客户端rsync的命令语法:

配置服务器端守护进程,实现数据传输:

1)服务器端守护进程。2、客户端执行命令。

##  1)pull,拉:从远端拉取到本地。语法1(常用):rsync[OPTION...][USER@]HOST::SRC...[DEST]

rsync命令  参数选项        [虚拟用户]@[主机地址]::[模块名]        本地路径

语法2:

rsync              [OPTION...]          rsync://[USER@]HOST::SRC...                          [DEST]

rsync命令            参数选项      rsync://[虚拟用户]@[主机地址]/[模块名]                    本地路径

2)push,推:从本地推到远端。

语法1(常用):               

rsync              [OPTION...]        [DEST]        [USER@]HOST::SRC...

rsync命令  参数选项        本地路径      [虚拟用户]@[主机地址]::[模块名]

语法2:

rsync              [OPTION...]        [DEST]          rsync://[USER@]HOST::SRC...

rsync命令  参数选项        本地路径  rsync://[虚拟用户]@[主机地址]/[模块名]

4、测试成果  成功案例

客户端操作:把/etc/hosts推送到服务端/backup/[root@nfs01 ~]# rsync -avz /etc/hosts [email protected]::backup --password-file=/etc/rsync.passwordsending incremental file list  hosts sent89bytes  received49bytes276.00bytes/sec total sizeis332speedupis2.41

客户端操作:把/etc/推送到服务端/backup/

rsync -avz /etc [email protected]::backup --password-file=/etc/rsync.password

服务端检查:

[root@backup ~]# ls /backup/

hosts

[root@backup ~]# ls /backup/

etc  hosts

5、注意:

如果客户端按照环境变量的方式配置,则可以忽略--password-file=/etc/rsync.password参数。  [root@nfs01 ~]# rsync -avz /etc [email protected]::backupsending incremental file list  sent52,071bytes  received644bytes105,430.00bytes/sec  total sizeis31,244,350speedupis592.70

6、测试增量 客户端操作

[root@nfs01 ~]# touch /etc/oldboy.txt[root@nfs01 ~]# rsync -avz /etc [email protected]::backupsending incremental file list  etc/oldboy.txtsent52,098bytes  received655bytes105,506.00bytes/sectotal sizeis31,244,350speedupis592.28

7、可能遇见的错误

##错误1:

[root@nfs01 ~]# rsync -avz /etc/hosts [email protected]::backup --password-file=/etc/rsync.password

@ERROR: invalid uid rsync

rsync error: error starting client-server protocol (code 5) at main.c(1648) [sender=3.1.2]

没有创建用户和目录 并修改用户 用户组

解答:

[root@backup ~]# useradd rsync

[root@backup ~]# id rsync

uid=1001(rsync) gid=1001(rsync) 组=1001(rsync)

[root@backup ~]# mkdir -p /backup

[root@backup ~]# chown -R rsync.rsync /backup/

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

drwxr-xr-x 2 rsync rsync 6 4月  15 12:12 /backup/

错误2:

[root@nfs01 ~]# rsync -avz /etc/hosts [email protected]::backup --password-file=/etc/rsync.passwordsending incremental file list hosts rsync: chgrp".hosts.YDuTjO"(inbackup) failed: Operationnotpermitted (1) sent223bytes  received124bytes694.00bytes/sec total sizeis332speedupis0.96

没有添加 fake super = yes 到/etc/syncd.conf里

解答:增加如下参数到/etc/rsyncd.conf

fake  super  = yes #不用root用户也可以存储文件的完整属性。

This allows the full attributes of a file to  be  stored  without having to have the daemon actually running as root.

[root@backup ~]# grep fake /etc/rsyncd.conf

fake super = yes

改完配置,要重启服务:

[root@backup ~]# systemctl restart rsyncd

作者:余仔丶

链接:https://www.jianshu.com/p/068563dd9443

来源:

著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(rsyncd服务及搭建备份服务器)