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 来源: 著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。