rsync简单配置及实现

rsysnc的工作模式

工作中常用第三种工作方式,并且为了不让备份服务器产生压力,使用push方式进行备份。

第一种方式举例:

rsync -avz /etc/hosts /tmp/      #相当于cp /etc/hosts /tmp/
rsync -avz --delete /null/ /tmp/  #相当于rm -rf /tmp/*

第二种方式举例:

rsync -avzP -e ‘ssh -p 22‘ /tmp [email protected]:/tmp   #push方式
rsync -avzP -e ‘ssh -p 22‘ [email protected]:/tmp /tmp   #pull方式

第三种方式:

rsync -avz /tmp/ [email protected]::backup   #push方式

服务端(存放备份文件的服务器)

第一步、创建rsyncd.conf 文件

[[email protected]_Server ~]# vi /etc/rsyncd.conf
uid = rsync  #程序属主
gid = rsync   #程序属组
use chroot = no  # 是否root账户
max connetions = 2000  #最大连接的客户端数量
timeout = 600  #超时时间,超时自动断开,需要服务再主动连接
pid file = /var/run/rsyncd.pid  #pid文件存放地址
lock file = /var/run/rsync.lock  #锁文件地址
log file = /var/log/rsyncd.log  #日志文件存放目录
ignore errors  #忽略错误
read only = false  #表示可读可写
list = false   #表示可以远程列表
hosts allow = 192.168.0.0/24  #允许主机地址
hosts deny = 0.0.0.0/32  #拒绝主机地址
auth users = rsync_backup  #运行服务的用户
secrets file = /etc/rsync.password  #密码文件
#####################
[backup]   #模块名字
comment = this is luruiqi writter  #注释
path = /backup   #需要备份的目录,最好和模块名字一样,方便查找
###################################
[[email protected]_Server ~]# rsync --daemon  #启动
[[email protected]_Server ~]# ps -ef |grep rsync |grep -v grep  #检查
root  3168  1  0 07:16 ?   00:00:00 rsync --daemon
[[email protected]_Server ~]# netstat -lntup |grep rsync  #检查
tcp    0   0 0.0.0.0:873   0.0.0.0:*   LISTEN    3168/rsync
tcp    0   0 :::873        :::*   LISTEN    3168/rsync
[[email protected]_Server ~]# ss -lntup |grep rsyn  #检查
tcp  LISTEN  0   5    :::873    :::*    users:(("rsync",3168,5))
tcp  LISTEN  0   5     *:873     *:*    users:(("rsync",3168,3))
[[email protected]_Server ~]# lsof -i :873  #检查
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rsync   3168 root  3u  IPv4  16481   0t0  TCP *:rsync (LISTEN)
rsync   3168 root  5u  IPv6  16482   0t0  TCP *:rsync (LISTEN)
[[email protected]_Server ~]# useradd rsync -s /sbin/nologin -M  #创建rsync账户
[[email protected]_Server ~]# id rsync #检查创建用户的结果
uid=500(rsync) gid=500(rsync) groups=500(rsync)
[[email protected]_Server ~]# mkdir /backup  #创建备份目录
[[email protected]_Server ~]# chown -R rsync /backup  #更改备份目录的属组
[[email protected]_Server ~]# ll -d /backup/  #检查是否更改属组
drwxr-xr-x 2 rsync root 4096 Dec  2 07:25 /backup/
[[email protected]_Server ~]# echo "rsync_backup:123456" >/etc/rsync.password  #创建账号和密码
[[email protected]_Server ~]# cat /etc/rsync.password  #检查是否创建
rsync_backup:123456
[[email protected]_Server ~]# chmod 600 /etc/rsync.password  #配置密码文件的访问权限
[[email protected]_Server ~]# ll /etc/rsync.password    #检查是否更改
-rw------- 1 root root 20 Dec  2 07:29 /etc/rsync.password

客户端(需要备份的服务器)

客户端不需要创建rsyncd.conf,只需要创建一个密码文件即可、

[[email protected] ~]# echo "123465" >/etc/rsync.password 
[[email protected] ~]# chmod 600 /etc/rsync.password 
[[email protected] ~]# ll /etc/rsync.password 
-rw------- 1 root root 7 Nov 22 03:33 /etc/rsync.password
[[email protected] ~]# cat /etc/rsync.password 
123465

测试一下

rsync -avz /tmp/ [email protected]::backup --password-file=/etc/rsync.password

NFS服务器(rsync客户端)

Backup服务器(rsync服务端)

-----------------------------------------------------------

以上看出简单的配置已经完成,能完成简单的文件备份传输工作。

重启rsync的组合命令pkill rsync #强制关闭服务

killall rsync #平滑的杀进程“需要重复多次确保杀死进程”
kill ‘cat /var/run/rsyncd.pid‘  #杀进程,也等同于关闭服务
rsync --daemon  #启动进程
kill -HUP ‘cat /var/run/rsyncd.pid‘ #平滑的杀死进程
kill  -USR2 ‘cat /var/run/rsyncd.pid‘  #平滑的杀死进程

检查启动的进程

ps -ef |grep rsync

--------------------------------------------------------------------

总结上面所有的步骤

rsync server配置步骤

1. vi /etc/rsyncd.conf

2.创建rsync用户及共享的目录/backup

useradd rsync -s /sbin/nologin -M

mkdir /backup

chown -R rsync /backup

3.创建密码文件

echo "rsync_backup:oldboy" >/etc/rsync.password

cat /etc/rsync.password

chmod 600 /etc/rsync.password

4.启动服务并检查

rsync --daemon

5.加入开机自启动

echo "rsync --daemon" >>/etc/rc.local

tail -2 /etc/rc.local

---------------------------------------------------------

客户端恢复拉取服务器上的资源,需要在客户端上运行下面语句:

rsync -avz [email protected]::backup   /tmp/ --password-file=/etc/rsync.password

-------------------------------------------------------------------------------------------

注意 :不管是推  拉都是在客户端操作,服务器只运行rsync服务

----------------------------------------------------------------------------

安全优化:1.监听内部的IP地址

[[email protected]_Server backup]# netstat -lntup|grep rsync

tcp        0      0 0.0.0.0:873                0.0.0.0:*                   LISTEN      29031/rsync

tcp        0      0 :::873                      :::*                        LISTEN      29031/rsync

由以上可知默认是监听全网IP  0.0.0.0:873 我们需要改成内网网段

进行如下更改启动

[[email protected]_Server backup]# rsync --daemon --address=192.168.1.0

[[email protected]_Server backup]# netstat -lntup|grep rsync

tcp        0      0 192.168.1.0:873            0.0.0.0:*                   LISTEN      29153/rsync

[[email protected]_Server backup]#

----------------------------------------------------------------------------------------

排错环节

思路:配置过程必须熟练,按操作过程检查一遍

服务端排错:

1.rsync服务的配置文件路径是否正确,默认路径为 、/etc/rsyncd.conf

2.查看配置文件里host allow,host deny,允许的IP网段,是否允许客户端访问.

3.查看path参数里的路径是否存在,权限是否正确(正常应为配置文件中的UID参数的属组和属主)

4.查看rsync服务是否启动,查看命令为ps -ef |grep rsync,端口是否存在 netstat -lntup |grep 873

5.查看iptables防火墙和selinux是否开启允许rsync服务通过,内网可以关闭。

6.查看服务端rsync配置的密码文件是否为600的权限,密码文件格式是否正确,正确格式为username:password  ,文件路径和配置文件里的secrect files参数对应。

7.如果是推送数据,要查看下配置rsyncd.conf文件中用户是否对模块下目录有读写的权限。

客户端排错思路:

1.查看客户端rsync配置的密码文件是否为600的权限,密码文件格式是否正确,注意,只需要密码,并且和服务端的密码一致。

2.用telnet连接rsync服务器的IP地址873端口,查看服务是否启动(可测试服务端防火墙是否阻挡)telnet 192.168.1.8 873

3.客户端执行命令是rsync -avzP [email protected]::backup /test/ --password-file=/etc/rsync.password

此命令的细节需注意   服务端的IP地址后面是双冒号;随后接的是服务端模块的名字。

时间: 2024-08-29 00:40:48

rsync简单配置及实现的相关文章

Rsync简单的同步配置

操作系统两台:VM #Version: CentOS Linux release 7.3.1611 (Core) #Kernel: Linux 3.10.0-514.10.2.el7.x86_64 #Architecture: x86-64 #IP_Add:172.21.93.228 #IP_Add:172.21.93.229 服务端配置 Rsync版本: 安装:直接yum install rsync [[email protected] ~]# rsync --version rsync  v

Linux&&Windows文件同步简单配置[rsync]

1.Windows to Windows 1.1.所需软件:cwRsyncServer_4.1.0_Installer.zip 1.2.安装: 解压后,直接双击安装 此步骤为设置同步的帐户和密码,该步骤会在操作系统层面创建一个用户:SvcCWRSYNC.当然,我们也可以修改这个用户,自己设置密码,都可以. 但是Windows下面可以不设置,全部默认即可. 1.3.配置服务端 编辑文件:rsyncd.conf use chroot = false strict modes = false host

rsync简单安装和配置

Rsync安装配置 昨天由于部门研发同事要做个小项目,要我提供一份rsync的安装配置文档,就简单了写了份,顺便发出来了. 1,        测试环境: CentOS release 5.8 2.6.18-308.el5 x86_64 IP_S: 192.168.104.137 IP_C: 192.168.104.138 2,        安装: 查看了一些online的服务器,跟测试环境相同,默认安装rsync3.0.6. yum安装就一条命令:  yum –y install rsync

rsync同步配置之笔记问题集

1.同步执行命令 rsync -avzP  --delete  --password-file=/etc/rsync.password  [email protected]::bak /home/wwwroot 注释:avzp   delete -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD -v, --verbose 详细模式输出-z 是压缩文件 - p      progress    是指显示出详细的进度情况 --delete    

0123简单配置LNMP

简单配置LNMP不怕出现错误,就怕错误不知道出现在哪里?看日值tail -f /var/log/message -- 系统整个的日志tail -f /var/log/nginx/error.log -- 单个应用的日志http://www.cnblogs.com/make217/p/5836864.htmlhttp://www.cnblogs.com/xiaoit/p/3991037.html

Samba服务器的简单配置

案例说明: 公共目录        public   /abc            ro  允许任何人匿名访问, Daiqing1        smbdq1   /tmp/daiqing1   rw  不允许他人访问 Daiqing2        smbdq2   /tmp/daiqing2   rw  不允许他人访问 Samba服务器的简单配置,布布扣,bubuko.com

Linux安装MariaDB和简单配置

1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB systemctl start mariadb 设置开机启动 systemctl enable mariadb 接下来进行MariaDB的相关简单配置 mysql_secure_installation 首先是设置密码,会提示先输入密码 Enter current password for root (enter for none):<–初

linux ntp安装简单配置

公司的一台服务器硬件坏了挂了,其中就有ntp服务端,写一下ntp服务端的简单配置. 1.首先安装ntp,centos 系统执行 yum install ntp 2.写入配置文件/etc/ntp.conf如下 restrict 192.168.18.153 mask 255.255.255.0 nomodify notrap restrict 192.168.18.0 mask 255.255.255.0 nomodify server time.pool.aliyun.com #server 1

gedit变身为编程利器的简单配置

本文由fcbruce个人原创整理,转载请注明出处:http://blog.csdn.net/u012965890/article/details/38472149.>_< 用了linux有半年多了(ubuntu->debian),之前敲代码都是通过IDE来编译运行,一直有转Vim的想法,可是那玩意太高端,暂时玩不过来.前两天发现gedit加上各种插件简直就是神器,这两天一直在抽空配置,试用了下,感觉很爽,哈哈哈哈哈哈哈,下面来分享下我的心得.>_< 操作系统:Debian 7