守护进程模式搭建

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. leetcode1552题解【二分+贪心】

    leetcode1552.两球之间的磁力 题目链接 算法 二分+贪心 时间复杂度O(nlogn + nlogm) 1.根据题意描述,我们需要将m个球放入到n个篮子中,根据题目中数据范围描述发现m &l ...

  2. Linux Shell脚本简单语法汇总(Deepin下运行)

    整理自: https://www.runoob.com/?s=shell Shell 脚本(shell script),是一种为 shell 编写的脚本程序. 业界所说的 shell 通常都是指 sh ...

  3. 原生JavaScript封装的jsonp跨域请求

    原生JavaScript封装的jsonp跨域请求 <!DOCTYPE html> <html lang="en"> <head> <met ...

  4. php 图片转base4的格式

    <?php $url = '1.jpg'; $base64_img = base64_encode(file_get_contents($url));//将图片转base64编码 $imgArr ...

  5. OpenCV图像处理学习笔记-Day1

    OpenCV图像处理学习笔记-Day1 目录 OpenCV图像处理学习笔记-Day1 第1课:图像读入.显示和保存 1. 读入图像 2. 显示图像 3. 保存图像 第2课:图像处理入门基础 1. 基本 ...

  6. 浅谈 Java线程状态转换及控制

    线程的状态(系统层面) 一个线程被创建后就进入了线程的生命周期.在线程的生命周期中,共包括新建(New).就绪(Runnable).运行(Running).阻塞(Blocked)和死亡(Dead)这五 ...

  7. 为啥你用@JsonFormat注解时,LocalDateTime会反序列化失败?

    写在前面 最近,有个小伙伴问我:我在SpringBoot项目中,使用@JsonFormat注解标注LocalDateTime类型的字段时,LocalDateTime反序列化失败,这个我该怎么处理呢?别 ...

  8. js undefined和null的判断

    function isUndef(value ){ return value === undefined || value === null; }

  9. 学习git这一篇就够了!!!

    git命令操作 本地库操作 初始化本地仓库 初始化命令 git init $ work % cd workspace $ workspace % mkdir WebService //创建文件夹 $ ...

  10. 第0天 | 12天搞定Pyhon,前言

    依稀记得,在2014年的某一天,一位运营电商平台的多年好朋友,找我帮忙:一个月内,实现抓取竞争对手在某电商平台上的所有产品信息并统计每个产品的点击率. 说出来有些不好意思,那些年,参与过的产品挺多的, ...