守护进程模式搭建

1.环境准备

2.安装rsync(做备份的服务器都安装)

[root@backup ~]# yum install -y rsync

3.服务端配置

[root@backup ~]# vim /etc/rsyncd.conf        #编辑配置文件

uid = rsync        #指定运行程序的用户

gid = rsync       #指定运行程序的用户

port = 873        #服务的监听端口

fake super = yes          #不需要root用户启动,安全机制

use chroot = no            #限制操作目录(出于安全考虑)

max connections = 200      #最大可连接数量(可调整)

timeout = 600         #超时时间(可调整)

ignore errors          #忽略错误

read only = false        #关闭只读权限

list = false              #查看模块列表

auth users = rsync_backup        #指定授权的虚拟用户

secrets file = /etc/rsync.passwd      #指定授权的虚拟用户的密码

log file = /var/log/rsyncd.log       #日志文件
#####################################

[backup]        #模块名称

comment = welcome to oldboyedu backup!       #注释

path = /backup    真实的文件目录

注意:配置文件写完后注意检查是否出现书写错误,完成配置文件后创建文件中需要手动创建的用户以及目录。

4.服务端创建用户

[root@backup ~]# useradd  rsync -s  /sbin/nologin -M

5.服务端创建密码文件

两种方式:

第一种:[root@backup ~]# vim /etc/rsync.passwd

rsync_backup:123456

第二种:[root@backup ~]# echo "rsync_backup:123456" > /etc/rsync.passwd

<推荐使用第二种,第一种密码后面不注意按了个空格就凉凉~~~~~>

###不管用什么方法创建,记得一定要授权!!!
[root@backup ~]# chmod 600 /etc/rsync.passwd

授权:600或者700权限都可以,建议600

6.服务端创建真实文件目录

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

7.服务端启动服务

[root@backup ~]# systemctl  start  rsyncd

[root@backup ~]# netstat -lntp     ##验证服务是否启动

 
 tcp         0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      18673/rsync 
 tcp6       0      0 :::873                 :::*                   LISTEN      18673/rsync  

       


8.客户端验证推送

1)输入密码的方式

##推送数据

[root@web01 ~]# rsync -avz file2 rsync_backup@172.16.1.41::backup
Password: 123456
sending incremental file list
file2

sent 87 bytes received 43 bytes 37.14 bytes/sec
total size is 0 speedup is 0.00

#拉取数据
[root@web01 ~]# rsync -avz rsync_backup@172.16.1.41::backup ./
Password:
receiving incremental file list
./
file3

sent 53 bytes received 173 bytes 64.57 bytes/sec
total size is 0 speedup is 0.00

2)指定密码文件的方式

#客户端配置密码文件
[root@web01 ~]# vim /etc/rsyncd.password
123456
[root@web01 ~]# echo "123456" > /etc/rsyncd.password

#授权
[root@web01 ~]# chmod 600 /etc/rsyncd.password

#推送数据
[root@web01 ~]# rsync -avz file3 rsync_backup@172.16.1.41::backup --password-file=/etc/rsyncd.password
sending incremental file list
file4

sent 87 bytes received 43 bytes 86.67 bytes/sec
total size is 0 speedup is 0.00

#拉取数据
[root@web01 ~]# rsync -avz rsync_backup@172.16.1.41::backup ./ --password-file=/etc/rsyncd.password
receiving incremental file list
./
file5

sent 50 bytes received 211 bytes 174.00 bytes/sec
total size is 0 speedup is 0.00

3)配置环境变量的方式

[root@web01 ~]# export RSYNC_PASSWORD=123456

#拉取数据
[root@web01 ~]# rsync -avz rsync_backup@172.16.1.41::backup ./

#推送数据
[root@web01 ~]# rsync -avz file3 rsync_backup@172.16.1.41::backup

rsync常见报错:

1. [root@web01 ~]# rsync -avz rsync_backup@172.16.1.41::backu ./

@ERROR: Unknown module 'backu'

##原因:
模块名字与服务端配置没有对应,检查模块名称

2. [root@web01 ~]# rsync -avz /tmp/ rsync_backup@172.16.1.41::backup

sending incremental file list
rsync: failed to write xattr user.rsync.%stat for "." (in backup): Permission denied (13)
rsync: failed to set times on "." (in backup): Operation not permitted (1)
./

sent 176 bytes received 205 bytes 762.00 bytes/sec
total size is 0 speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1179) [sender=3.1.2]

##原因
1.权限不足,服务端目录权限过高
2.检查firewalld,selinux是否关闭

3.[root@web01 ~]# rsync -avz /tmp/ rsync_back@172.16.1.41::backup

@ERROR: auth failed on module backup

##原因:
1.虚拟用户错误
2.密码错误
3.密码文件权限不是600
4.服务端密码文件不存在

4. [root@web01 ~]# rsync -avz /tmp/ rsync_backup@172.16.1.41::/backup

ERROR: The remote path must start with a module name not a /

#原因:
守护进程模式 ::  后面跟的是模块名字,而不是目录名字

5.[root@web01 ~]# rsync -avz /tmp/ rsync_backup@172.16.1.41::backup

rsync: failed to connect to 172.16.1.41 (172.16.1.41): Connection refused (111)

rsync error: error in socket IO (code 10) at clientserver.c(125) [sender=3.1.2

##原因:
服务端服务没有启动



6.[root@web01 ~]# rsync -avz /tmp/ rsync_backup@172.16.1.41::backup

@ERROR: chdir failed

##原因:
服务端文件目录不存在

rsync 守护进程模式搭建 与常见报错的更多相关文章

  1. ELK搭建elasticsearch常见报错

    问题一: [2018-01-31T16:27:21,712][WARN ][o.e.b.JNANatives ] unable to install syscall filter: Java.lang ...

  2. rsync 守护进程及实时同步

    目录 rsync 守护进程及实时同步 rsync简介 rsync特性 rsync应用场景 cp命令 scp命令 rsync的传输方式 rsync的传输模式 rsync实际使用 rsync命令 案例 r ...

  3. Linux Rsync备份服务介绍及部署守护进程模式

    rsync介绍 rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份工具 在常驻模式(daemon mode)下,rsync默认监听TCP端口873,以原生rsync传输 ...

  4. HDFS集群常见报错汇总

    HDFS集群常见报错汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.DataXceiver error processing WRITE_BLOCK operation 报 ...

  5. Nginx 常见报错

    Nginx 常见报错 启动报错:[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) 原因:这个是nginx重启时经常遇到 ...

  6. web报表工具FineReport使用中遇到的常见报错及解决办法(二)

    web报表工具FineReport使用中遇到的常见报错及解决办法(二) 这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己. 出现问题先搜一下文档上有没有,再看看度娘 ...

  7. java常见报错及解决

    Java常见报错信息: Java 常见异常种类 Java Exception: 1.Error  2.Runtime Exception 运行时异常 3.Exception  4.throw 用户自定 ...

  8. 03:git常见报错解决方法

    1.1 git常见报错解决方法 1.warning: LF will be replaced by CRLF in .idea/workspace.xml. 参考博客:https://www.cnbl ...

  9. JavaScript 调试常见报错以及原因

    JavaScript 调试常见报错以及原因 测试环境 chrome 版本 66.0.3359.170(正式版本) (64 位) TypeError 类型错误 不是操作符所接受的数据类型. //---- ...

随机推荐

  1. Redis5设计与源码分析读后感(三)跳跃表

    一.引言 有序集合在日常开发中相当常见,比如做排名等相关的功能,肯定要用到排序的功能,那么常见底层实现有很多种: 数组 :不便于元素的插入和删除 链表 :查询效率低,需要遍历所有元素 平衡树OR红黑树 ...

  2. Oracle学习(十五)PLSQL安装

    PS:由于原来一直用的旧版本的PLSQL客户端,查看执行计划有些数据无法展示,所以今天换一波新版本的使用,记录下安装和使用流程. PLSQL(oracle数据可视化工具) 一.下载 我用的13的版本, ...

  3. redis过期策略以及内存淘汰机制(理论+配置)

    一.redis的过期策略: redis的过期策略是:定期删除+惰性删除redis在存储数据时,可能会设置过期时间,而所谓的定期删除,指的是redis默认是每隔100ms就随机抽取一些设置了过期时间的k ...

  4. Magicodes.IE之花式导出

    总体设计 Magicodes.IE是一个导入导出通用库,支持Dto导入导出以及动态导出,支持Excel.Word.Pdf.Csv和Html.在本篇教程,笔者将讲述如何使用Magicodes.IE进行花 ...

  5. C++实现职工管理系统(中)

    C++实现职工管理系统(中) 大家好,今天是在博客园的第九天,博主今天给大家带来的是职工管理系统(C++)(中) 这次的随笔记录是实现(上)结语处说的几个功能 目录 C++实现职工管理系统(中) 1. ...

  6. @DependsOn注解的使用

    如果Bean A 在创建前需要先创建BeanB此时就可以使用DependsOn注解 @Configuration public class MyConfig { @Bean @DependsOn(&q ...

  7. MDK内的KEEP关键字以及$$Base $$Limit

    使用mdk编程,假如有一个有用的函数你定义了但是没有显式的调用,mdk在默认方式下,将会把这个函数从整个程序总删除掉,以节省ROM. 比如,你在ROM的0x00002000处定位了一个函数,假设为vo ...

  8. 小伙伴问我:如何搭建Maven私服?我连夜肝了这篇实战文章!!

    写在前面 十一假期期间,也有很多小伙伴不忘学习呀,看来有很多小伙伴想通过十一长假来提升自己的专业技能!这不,就有小伙伴在微信上问我:如何搭建Maven私服?让我专门推一篇搭建Maven私服的文章.安排 ...

  9. java安全编码指南之:方法编写指南

    目录 简介 不要在构造函数中调用可以被重写的方法 不要在clone()方法中调用可重写的方法 重写equals()方法 hashCode和equals compareTo方法的实现 简介 java程序 ...

  10. 剑指Offer(三):从尾到头打印链表

    一.前言 刷题平台:牛客网 二.题目 输入一个链表,返回一个反序的链表. 1.思路 通常,这种情况下,我们不希望修改原链表的结构.返回一个反序的链表,这就是经典的"后进先出",我们 ...