rsync快速部署记录
rsync快速部署记录
安装rsync和使用
环境:
客户端:10.192.30.59 fudao_db_cluster_002 (将本地文件备份到服务端)
服务端:10.192.30.60 fudao_db_cluster_003 (存储接收传输过来的文件)
安装rsync
客户端和服务端都需要安装
yum -y install rsync
# daemon模式的配置,只需要服务端操作
# rsync daemon模式是以rsync服务器形式运行,首先我们需要创建rsync服务器的配置文件,
# 配置文件:/etc/rsyncd.conf 默认此文件可能不存在,需要自己创建,配置信息如下:
cat > /etc/rsyncd.conf <<"EOF"
# 全局参数配置
port =
uid = rsync
gid = rsync # 使用chroot到文件系统中的目录中
use chroot = no # 最大并发连接数
max connections = motd file = /etc/rsyncd.motd #定义服务器信息的,自己写 rsyncd.motd 文件内容
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log # 指定哪些文件不用进行压缩传输
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 timeout = ###########下面指定模块,并设定模块配置参数,可以创建多个模块###########
#自定义模块
[dbbackup] #用来指定要备份的目录
path = /data/backup/ #可以忽略一些IO错误
ignore errors #设置no,客户端可以上传文件,yes是只读
read only = no #no为客户端可以下载,yes 不能下载
write only = no #允许连接的IP,强烈建议加上你允许的IP,多个IP逗号隔开
hosts allow = 10.192.30.0/ # 指定不允许连接到该模块的机器
hosts deny = 0.0.0.0/ #客户请求时,使用模块列表
list = yes #连接用户名,是虚拟用户与linux系统用户无关,多个用户名逗号隔开
auth users = sync_user #验证密码文件,文件格式为:用户名:密码
secrets file = /etc/rsyncd.secrets EOF
# 配置完后,再就是提供模块相关目录、身份验证文件等。
cat >/etc/rsyncd.motd <<"EOF"
+++++++++++++++++++++++++++++++++++++++++++
+ linuxsir.org rsync - +
+++++++++++++++++++++++++++++++++++++++++++
EOF useradd -r -s /sbin/nologin rsync
mkdir -p /data/backup/
chown -R rsync.rsync /data/backup/
# 写入配置时请将上面的注释信息去掉,并调整里面的相关参数。
# /etc/rsyncd.secrets 文件权限必须是600,创建好该文件后可以执行:
# 格式为 用户名:密码
[root@fudao_db_cluster_003 mysql]# cat /etc/rsyncd.secrets
sync_user:sync_userpassword
[root@fudao_db_cluster_003 mysql]# chmod /etc/rsyncd.secrets
# 启动服务
# rm -rf /var/run/rsyncd.pid
[root@fudao_db_cluster_003 scripts]# ps -ef|grep rsync
root : ? :: /usr/bin/rsync --daemon --config=/etc/rsyncd.conf
root : pts/ :: grep rsync
[root@fudao_db_cluster_003 scripts]#
chown -R rsync.rsync /data/backup/
rm -rf /var/run/rsyncd.pid /usr/bin/rsync --daemon --config=/etc/rsyncd.conf
tail -f /var/log/rsyncd.log
# 客户端免秘钥传输,需要创建密码文件,内容只写密码即可
[root@fudao_db_cluster_002 ~]# cat /etc/rsyncd.pass
sync_userpassword
# 文件权限必须
[root@fudao_db_cluster_002 ~]# chmod /etc/rsyncd.pass
# 测试
# 将本地/data/mysql/scripts/下的文件目录传输至 10.192.30.60::dbbackup中的/data/backup/下
[root@fudao_db_cluster_002 ~]# rsync -auzv --progress --password-file=/etc/rsyncd.pass /data/mysql/scripts/slowquery_analysis.sh sync_user@10.192.30.60::dbbackup sending incremental file list
slowquery_analysis.sh
% .00kB/s :: (xfer#, to-check=/) sent bytes received bytes 1930.00 bytes/sec
total size is speedup is 2.12
[root@fudao_db_cluster_002 ~]# [root@fudao_db_cluster_002 ~]# rsync -auzv --progress --password-file=/etc/rsyncd.pass /data/mysql/scripts/* sync_user@10.192.30.60::dbbackup sending incremental file list
slowquery_analysis.sh
2049 100% 0.00kB/s 0:00:00 (xfer#1, to-check=2/3)
test_dir/
test_dir/slowquery_analysis.sh
2049 100% 1.95MB/s 0:00:00 (xfer#2, to-check=0/3) sent 1898 bytes received 50 bytes 3896.00 bytes/sec
total size is 4098 speedup is 2.10
[root@fudao_db_cluster_002 ~]#
# 注意:默认rsync服务器并不是自动启动的! # 从远程下载10.192.30.::dbbackup中的/data/backup/下的文件到本地的tmp目录下
[root@fudao_db_cluster_002 tmp]# rsync -auzv --progress --password-file=/etc/rsyncd.pass sync_user@10.192.30.60::dbbackup /tmp/ receiving incremental file list
./
slowquery_analysis.sh
% .95MB/s :: (xfer#, to-check=/)
test_dir/
test_dir/slowquery_analysis.sh
% .95MB/s :: (xfer#, to-check=/) sent bytes received bytes 4228.00 bytes/sec
total size is speedup is 1.94
附录:常见问题
问题一: @ERROR: chroot failed
rsync error: error starting client-server protocol (code ) at main.c() [receiver=3.0.] 原因:
服务器端的目录不存在或无权限,创建目录并修正权限可解决问题。 问题二:
@ERROR: auth failed on module tee
rsync error: error starting client-server protocol (code ) at main.c() [receiver=3.0.] 原因:
服务器端该模块(tee)需要验证用户名密码,但客户端没有提供正确的用户名密码,认证失败。
提供正确的用户名密码解决此问题。 问题三:
@ERROR: Unknown module ‘tee_nonexists’
rsync error: error starting client-server protocol (code ) at main.c() [receiver=3.0.] 原因:
服务器不存在指定模块。提供正确的模块名或在服务器端修改成你要的模块以解决问题。 问题四:
password file must not be other-accessible
continuing without password file
Password:
原因:
这是因为rsyncd.pwd rsyncd.secrets的权限不对,应该设置为600。如:chmod rsyncd.pwd
问题五:
rsync: failed to connect to 218.107.243.2: No route to host ()
rsync error: error in socket IO (code ) at clientserver.c() [receiver=2.6.]
原因:
对方没开机、防火墙阻挡、通过的网络上有防火墙阻挡,都有可能。关闭防火墙,其实就是把tcp udp的873端口打开。 问题六:
rsync error: error starting client-server protocol (code ) at main.c() [Receiver=3.0.]
原因:
/etc/rsyncd.conf配置文件内容有错误。请正确核对配置文件。
问题七:
rsync: chown "" failed: Invalid argument ()
原因:
权限无法复制。去掉同步权限的参数即可。(这种情况多见于Linux向Windows的时候) 问题八:
@ERROR: daemon security issue -- contact admin
rsync error: error starting client-server protocol (code ) at main.c() [sender=3.0.]
原因:
同步的目录里面有软连接文件,需要服务器端的/etc/rsyncd.conf打开use chroot = yes。掠过软连接文件。 问题九:
ERROR: module is read only
rsync error: syntax or usage error (code ) at main.c() [receiver=2.6.]
rsync: connection unexpectedly closed ( bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code ) at io.c() [sender=3.0.]
解决: 提示打开了read only,将配置文件 read only = no 问题十:
cat /var/log/rsyncd.log
// :: [] name lookup failed for XX.XX.XX.XX: Name or service not known
// :: [] connect from UNKNOWN (XX.XX.XX.XX)
// :: [] rsync to html/ from unknown (XX.XX.XX.XX)
解决:需要在服务端这台机上上的/etc/hosts里面添加客户端机的ip和机器名 问题十一: [root@Dell-R710 ~]# rsync -artuz -R --delete ./ 192.168.1.233::gex
rsync: failed to connect to 61.145.118.206: Connection refused ()
rsync error: error in socket IO (code ) at clientserver.c() [sender=3.0.]
解决:
一、查看防火墙
二、查看服务端是否开启守护进程
ps ax|grep rsync
rsync --daemon --config=/etc/rsyncd.conf ##################################################################### 问题1:
在client上遇到问题:
rsync -auzv --progress --password-file=/etc/rsync.pas root@192.168.133.128::backup /home/
rsync: could not open password file "/etc/rsync.pas": No such file or directory ()
Password:
@ERROR: auth failed on module backup
rsync error: error starting client-server protocol (code ) at main.c() [Receiver=3.0.]
遇到这个问题:client端没有设置/etc/rsync.pas这个文件,而在使用rsync命令的时候,加了这个参数--
password-file=/etc/rsync.pas 问题2:
rsync -auzv --progress --password-file=/etc/rsync.pas root@192.168.133.128::backup /home/
@ERROR: auth failed on module backup
rsync error: error starting client-server protocol (code ) at main.c() [Receiver=3.0.]
遇到这个问题:client端已经设置/etc/rsync.pas这个文件,里面也设置了密码111111,和服务器一致,但是
服务器段设置有错误,服务器端应该设置/etc/rsync.pas ,里面内容root: ,这里登陆名不可缺少 问题3:
rsync -auzv --progress --password-file=/etc/rsync.pas root@192.168.133.128::backup /home/
@ERROR: chdir failed
rsync error: error starting client-server protocol (code ) at main.c() [Receiver=3.0.]
遇到这个问题,是因为服务器端的/home/backup 其中backup这个目录并没有设置,所以提示:chdir failed 问题4:
rsync: write failed on "/home/backup2010/wensong": No space left on device ()
rsync error: error in file IO (code ) at receiver.c() [receiver=3.0.]
rsync: connection unexpectedly closed ( bytes received so far) [generator]
rsync error: error in rsync protocol data stream (code ) at io.c() [generator=3.0.]
磁盘空间不够,所以无法操作。
可以通过df /home/backup2010 来查看可用空间和已用空间 问题5:网络收集问题
、权限问题
类似如下的提示:rsync: opendir "/kexue" (in dtsChannel) failed: Permission denied ()注意查看同步的目录权限是否为755
、time out
rsync: failed to connect to 203.100.192.66: Connection timed out ()
rsync error: error in socket IO (code ) at clientserver.c() [receiver=3.0.]
检查服务器的端口netstat –tunlp,远程telnet测试。 、服务未启动
rsync: failed to connect to 10.10.10.170: Connection refused ()
rsync error: error in socket IO (code ) at clientserver.c() [receiver=3.0.]
启动服务:rsync --daemon --config=/etc/rsyncd.conf 、磁盘空间满
rsync: recv_generator: mkdir "/teacherclubBackup/rsync……" failed: No space left on device ()
*** Skipping any contents from this failed directory *** 、Ctrl+C或者大量文件
rsync error: received SIGINT, SIGTERM, or SIGHUP (code ) at rsync.c() [receiver=3.0.]
rsync error: received SIGINT, SIGTERM, or SIGHUP (code ) at rsync.c() [generator=3.0.] 、xnetid启动
rsync: read error: Connection reset by peer ()
rsync error: error in rsync protocol data stream (code ) at io.c() [receiver=3.0.]
查看rsync日志
rsync: unable to open configuration file "/etc/rsyncd.conf": No such file or directory
xnetid查找的配置文件位置默认是/etc下,根据具体情况创建软链接。例如:
ln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf
或者更改指定默认的配置文件路径,在/etc/xinetd.d/rsync配置文件中
rsync快速部署记录的更多相关文章
- Centos7下使用Ceph-deploy快速部署Ceph分布式存储-操作记录
之前已详细介绍了Ceph分布式存储基础知识,下面简单记录下Centos7使用Ceph-deploy快速部署Ceph环境: 1)基本环境 192.168.10.220 ceph-admin(ceph-d ...
- Centos7下使用Ceph-deploy快速部署Ceph分布式存储-操作记录(转)
之前已详细介绍了Ceph分布式存储基础知识,下面简单记录下Centos7使用Ceph-deploy快速部署Ceph环境:1)基本环境 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
- Redis集群环境的部署记录
Redis Cluster终于出了Stable,这让人很是激动,等Stable很久了,所以还是先玩玩. 一. 集群简单概念. Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施( ...
- Centos7.5基于MySQL5.7的 InnoDB Cluster 多节点高可用集群环境部署记录
一. MySQL InnoDB Cluster 介绍MySQL的高可用架构无论是社区还是官方,一直在技术上进行探索,这么多年提出了多种解决方案,比如MMM, MHA, NDB Cluster, G ...
- ProxySQL Cluster 高可用集群环境部署记录
ProxySQL在早期版本若需要做高可用,需要搭建两个实例,进行冗余.但两个ProxySQL实例之间的数据并不能共通,在主实例上配置后,仍需要在备用节点上进行配置,对管理来说非常不方便.但是Proxy ...
- Linux下Redis主从复制以及SSDB主主复制环境部署记录
前面的文章已经介绍了redis作为缓存数据库的说明,本文主要说下redis主从复制及集群管理配置的操作记录: Redis主从复制(目前redis仅支持主从复制模式,可以支持在线备份.读写分离等功能.) ...
- MySQL高可用方案-PXC环境部署记录
之前梳理了Mysql+Keepalived双主热备高可用操作记录,对于mysql高可用方案,经常用到的的主要有下面三种: 一.基于主从复制的高可用方案:双节点主从 + keepalived 一般来说, ...
- redis主从复制以及SSDB主主复制环境部署记录(四)
redis配置主从和ssdb主主复制 参考:散尽浮华Linux下Redis主从复制以及SSDB主主复制环境部署记录 只做自己查阅. 环境要求:三台虚拟机一台做主,两台做从. 通过SSDB在redis做 ...
- ProxySQL Cluster 高可用集群 + MySQL MGR环境部署 (多写模式) 部署记录
文章转载自:https://blog.51cto.com/u_6215974/4937192 ProxySQL 在早期版本若需要做高可用,需要搭建两个实例,进行冗余.但两个ProxySQL实例之间的数 ...
随机推荐
- fcitx无法切换到中文(manjaro)
安装fcitx后不能切换到中文输入法,在.bashrc或者.profile中添加以下代码: #fcitx export GTK_IM_MODULE=fcitx export QT_IM_MODULE ...
- 彻底搞懂snowflake算法及百度美团的最佳实践
写在前面的话 一提到分布式ID自动生成方案,大家肯定都非常熟悉,并且立即能说出自家拿手的几种方案,确实,ID作为系统数据的重要标识,重要性不言而喻,而各种方案也是历经多代优化,请允许我用这个视角对分布 ...
- 【css】常用的几种水平垂直居中方式与盒子模型,面试经常问到!
div水平垂直居中 假设结构为此,2个div嵌套 <div class="box"> <div class="content">< ...
- 10大IT社区
技术社区导航 http://tooool.org/ 1. cnblogs 人多内容质量最高 2.csdn csdn的注册人数多,但新手多 3.java eye java eye注册用户刚突破10万,但 ...
- 洛谷 P1273 有线电视网 题解
题面 按照常见树形背包定义状态:设dp[u][j]表示在以u为根的子树中,选择j个客户所能获得的最大收益. 状态转移:dp[u][j]=max(dp[u][j-k],dp[v][k]-w(u,v)); ...
- CF894E Ralph and Mushrooms
题目 一眼题. 缩点然后dp. 注意一下计算一条边经过无限次可以获得多少价值这个东西要用到平方和公式. \(\sum\limits_{i=1}^ni^2=\frac{i(i+1)(2i+1)}6\) ...
- 使用RSA算法对接口参数签名及验签
在不同的服务器或系统之间通过API接口进行交互时,两个系统之间必须进行身份的验证,以满足安全上的防抵赖和防篡改. 通常情况下为了达到以上所描述的目的,我们首先会想到使用非对称加密算法对传输的数据进行签 ...
- selenium与页面交互之二:webelement类的属性
webelement类的属性如下: element.size() 获取元素的大小 element.tag_name() 获取元素的HTML标签名称 element.text() 获取元素的文本 ...
- php程序Apache,IIS 7,nginx 伪静态配置方法总汇
一,Apache 环境伪静态配置方法: 在根目录下放置一个.htaccess 文件,内容如下: <IfModule mod_rewrite.c> Options +FollowSymlin ...
- 剑指offer-字符串的排列-数组-递归-动态规划-python
题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输 ...