您的位置:首页 > 其它

rsync安装使用指南(一)基础安装

2017-12-16 23:59 253 查看

Linux 学习-rsync服务

标记:期中架构 --- 同步服务

时间:2017-12-16 13:02:30

作者:peng

本文涉及内容:

1)rsync的安装

2)rsync的配置过程

3)rsync的应用

4)rsync的常见故障问题汇总

一、rsync 的安装过程

1)检查服务是否安装

检查一个命令是否安装

rpm -qa |grep "name" ###模糊查找
rpm -qa "name" ###精确查找

案例:

1、查看ssh命令是否安装

[root@backup ~]# rpm -qa |grep ssh

openssh-clients-5.3p1-122.el6.x86_64

openssh-5.3p1-122.el6.x86_64

openssh-server-5.3p1-122.el6.x86_64

libssh2-1.4.2-2.el6_7.1.x86_64

[root@backup ~]#

2、查看rsync服务是否安装

[root@backup ~]# rpm -qa |grep rsync
rsync-3.0.6-12.el6.x86_64
[root@backup ~]#

补充

1、查看某一个命令属于哪个安装包?

rpm -qf "which CMDname"

例如:
查看sl这个命令属于哪个安装包

[root@backup ~]# rpm -qf `which sl`
sl-5.02-1.el6.x86_64
[root@backup ~]#

2、查看安装包内容都有什么?

rpm -ql “软件名称“

例如:
查看sl这个包里面偶有什么

[root@backup ~]# rpm -ql  sl
/usr/bin/sl
/usr/share/doc/sl-5.02
/usr/share/doc/sl-5.02/LICENSE
/usr/share/doc/sl-5.02/README.ja.md
/usr/share/doc/sl-5.02/README.md
/usr/share/man/ja/man1/sl.1.ja.gz
/usr/share/man/man1/sl.1.gz
[root@backup ~]#

3、安装rpm包

rpm -ivh "软件包“

###rpm 软件安装包一般以.rpm结尾

4、卸载rpm软件

rpm -e zsh     只写软件包的名字
--nodeps       强制卸载

案例:
卸载Telnet服务

1、安装软件
[root@backup ~]# rpm -qa |grep telnet
telnet-0.17-48.el6.x86_64
[root@backup ~]#
2、开始卸载软件
01、知晓软件包的名称
[root@backup ~]# rpm -qf `which telnet`
telnet-0.17-48.el6.x86_64
[root@backup ~]#
02、卸载软件
[root@backup ~]# rpm -e telnet-0.17-48.el6.x86_64
[root@backup ~]# rpm -qa |grep telnet
[root@backup ~]#

5、升级rpm包

rpm -Uvh rpm包

二、配置环境

前言:

由于rsync服务启动时不会自动生成配置文件需要重新编辑配置文件

配置文件模板:

#rsync_config
#created by HQ at 2017
##rsyncd.conf start##
#全局配置文件
uid = rsync       ## 认证用户信息
gid = rsync       ## 认证用户信息
use chroot = no   ##安全相关参数
max connections = 200       ##最大连接数
timeout = 300               ###超时时间
pid file = /var/run/rsyncd.pid      ###进程对应的进程号文件
lock file = /var/run/rsync.lock     ###锁文件
log file = /var/log/rsyncd.log      ###日志文件、查看那失败错误信息
ignore errors       ###忽略错误信息
read only = false   ###是否为只读文件
list = false        ###是否为列表
hosts allow = 172.16.1.0/24     ###允许访问网段(白名单)
hosts deny = 0.0.0.0/32         ###拒绝访问网段(黑名单)
auth users = rsync_backup       ###虚拟认证用户名称
secrets file = /etc/rsync.password      ###认证用户密码配置文件
#模块配置文件
[backup]    ###备份模块名称
comment = "backup dir by oldboy"    ###模块描述
path = /backup      ###模块 目录路径

1) 编写配置文件

cat /etc/rsyncd.conf
###rsyncd.conf######

#------全局配置模块--------#
uid = rsync
gid = rsync
#指定用户和用户为rsync
use chroot = no
max connections = 200
#最大连接数200
timeout = 300
#定义超时时间
pid file = /var/run/rsyncd.pid
#进程对应的进程号文件
lock file = /var/run/rsync.lock
#进程的锁文件
log file = /var/log/rsyncd.log
#日志文件
#-------模块配置--------#
[backup]
#模块名称
path = /backup
#模块对应的路径
ignore errors
#忽略错误程序
read only = false
#是否只读
list = false
#是否可以列表
hosts allow = 172.16.1.0/24
#允许访问网段
hosts deny = 0.0.0.0/32
#拒绝访问ip
auth users = rsync_backup
#认证用户
secrets file = /etc/rsync.password
#认证用户的口令存放文件
#rsync_config------------------end

[root@backup ~]#

2) 依据配置文件创建准备环境

2-1、认证用户

[root@backup ~]# useradd rsync
[root@backup ~]# id rsync
uid=500(rsync) gid=500(rsync) groups=500(rsync)
[root@backup ~]#

2-2、认证用户密码文件

[root@backup ~]# vim /etc/rsync.password
[root@backup ~]# cat /etc/rsync.password
rsync_backup:123@123
[root@backup ~]# chmod 600 /etc/rsync.password
[root@backup ~]# ls -ld /etc/rsync.password
-rw------- 1 root root 21 Dec 16 14:09 /etc/rsync.password
[root@backup ~]#

创建密码文件并设置权限

2-3、备份模块目录设置

[root@backup ~]# mkdir -p /backup
[root@backup ~]# chown -R rsync.rsync /backup/
[root@backup ~]# ls -ld /backup/
drwxr-xr-x 2 rsync rsync 4096 Dec 16 14:12 /backup/
[root@backup ~]#

3、启动rsync服务

rsynvc --demon 命令启动

4、客户端配置操作

4-1)确认服务是否安装

rpm -aq |grep rsync

4-2) 安装服务

命令:yum -y install rsync
若果服务已经安装则跳过这一步

4-3)编辑认证用户密码文件

[root@nfs01 ~]# echo "123@123" >>/etc/ysync.password
[root@nfs01 ~]# chmod 600 /etc/ysync.password
[root@nfs01 ~]# ls -ld /etc/ysync.password
-rw------- 1 root root 8 Dec 16 14:29 /etc/ysync.password
[root@nfs01 ~]# cat /etc/ysync.password
123@123
[root@nfs01 ~]#

5、测试运行同步

5-1、正常同步

[root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup
Password:
sending incremental file list
hosts

sent 196 bytes  received 27 bytes  63.71 bytes/sec
total size is 349  speedup is 1.57
[root@nfs01 ~]#

5-2、免交互同步

命令:rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup/nfs01/ --password-file=/etc/rsync.password

[root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup/nfs01/ --password-file=/etc/rsync.password
sending incremental file list
created directory nfs01
hosts

sent 196 bytes  received 27 bytes  446.00 bytes/sec
total size is 349  speedup is 1.57
[root@nfs01 ~]#


三、rsync的应用

rsync的各个应用场景及扩展应用


多模块的应用

多用户的应用

1)多模块应用

1-1、多台主机需要备份到同一个模块如何区分

方案一: 在备份的目录下各自主机创建一个子目录用于存放自己的备份文件

rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup/`hostname`/ --password-file=/etc/rsync.password
使用haostname 创建以及主机名命名的目录完成备份。
注:rsync模块中只能创建一级子目录、不能创建二级子目录
就是说:
可以在A模块下只能创建一个目录B、不能连续创建A/B/C这种目录

1-2、多台主机需要备份到一个模块下、并且每天备份的内容大致一样需要将其分开

方案一: 多级目录备份、rsync模块备份只能创建一级目录、不能连续创建两级目录。因此这个需求需要预先创建好一级目录(主机名目录)

1)在服务端创建好以主机名命名的目录
#mkdir nfs01
2) 注意创建好目录的权限
[root@backup backup]# mkdir nfs01
[root@backup backup]# ll
total 4
drwxr-xr-x 2 root root 4096 Dec 16 23:08 nfs01
[root@backup backup]# ll -ld /backup/
drwxr-xr-x 3 rsync rsync 4096 Dec 16 23:08 /backup/
[root@backup backup]# chown -R rsync.rsync /backup/
3)客户端执行
[root@nfs01 ~]# rsync -avz /etc/hosts  rsync_backup@172.16.1.41::backup/nfs01/`date +%F`/ --password-file=/etc/rsync.password
sending incremental file list
created directory nfs01/2017-12-16
hosts

sent 196 bytes  received 27 bytes  446.00 bytes/sec
total size is 349  speedup is 1.57
[root@nfs01 ~]#

1-3 将备份文件分别存放不同目录

1)创建多个模块来应用
2)编辑配置文件/etc/rsyncd.cond
3)添加模块
...
[backup_nfs01]
path = /backup_nfs
comment = "backup dir nfs_list"
[root@backup ~]#
4)创建目录并且设置权限
[root@backup ~]# mkdir /backup_nfs
[root@backup ~]# chown -R rsync.rsync /backup_nfs/
[root@backup ~]# ll -ld /backup_nfs/
drwxr-xr-x 2 rsync rsync 4096 Dec 16 23:27 /backup_nfs/
[root@backup ~]#
注:修改模块后需要重启rsync服务的
5)调用模块
[root@nfs01 ~]# rsync -avz /etc/hosts  rsync_backup@172.16.1.41::backup_nfs01 --password-file=/etc/rsync.password
sending incremental file list
hosts

sent 196 bytes  received 27 bytes  446.00 bytes/sec
total size is 349  speedup is 1.57
[root@nfs01 ~]#

rsync常见错误汇总

1)启动过程中

报错:failed to create pid file /var/run/rsyncd.pid: File exists
翻译:未能创建PID文件/无功/运行/ rsyncd.pid:文件存在

原因:存在相同文件

rsyncd.pid:文件存在

解决方案:

[root@backup ~]# rm -rf /var/run/rsyncd.pid

然后在重新启动服务即可

[root@backup ~]# rsync --daemon
[root@backup ~]#

2)传输过程中

报错信息如下

[root@nfs01 ~]# rsync -avz /etc/hosts rsync_backu@172.16.1.41::backup --password-file=/etc/rsync.password
rsync: failed to connect to 172.16.1.41

: Connection refused (111)
rsync error: error in socket IO (code 10) at clientserver.c(124) [sender=3.0.6]

原因:

rsync服务没有启动

解决方案:

重启rsync服务即可

3)认证过程

报错信息如下:

rsync -avz /etc/sysconfig/network rsync_backup@172.16.1.41::nfsbackup --password-file=/etc/rsync.password
@ERROR: chdir failed
rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]

原因:

rsync服务端没有模块指定的目录,需要进行创建和授权

解决方案:

1)检查配置文件中模块信息
2)检查备份目录是否存在
3)检查备份目录权限是否为rsync.rsync
认证失败:
1)密码文件权限错误(root.root:600)服务端和客户端要一样
2)密码内容需要保持一致
3)配置文件中或者调用中的路径要正确
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  rsync 同步 备份