Linux基础——Rsync(一)

简介

Rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具,适用于unixLinuxwindows等操作平台

特性

三种工作模式

1.本地之间的数据同步

2.远程之间的数据同步

3.socket守护进程的方式

先使用which查看是否安装rsync命令,如果没有的话,使用yum仓库安装。

同时安装openssh-clients。并检查防火请和selinux是否关闭,如果没有关闭的话,将其关闭。同时检查光盘是否挂载。

[root@centos ~]# yum -y install rsync openssh-clients

Rsync

常用

参数

-v详细模式输出,传输时的进度等信息

-z传输时进行压缩以提高传输效率--compress-level=NUM可按级别压缩

-a归档模式,表示以递归方式传输文件,并保持所有文件属性。

其他

参数

-r, recursive:对子目录以递归模式,即目录下的所有目录都同样传输,小写r

-t, --times:保持文件时间信息

-o, --owner:保持文件属主权限

-p, --perms:保持文件权限

-g, --group:保持文件属组信息

-P, --progress:显示同步的过程及传输时的进度等信息

-D, --devices:保持设备文件信息

-l, --linke:保持软连接

-e, --rsh=COMMAND:使用的通信协议,指定替代rshshell程序,如:ssh –exclude=PATTERN指定排除不需要传输的文件模式(和tar参数一样)

--bwlimit=RATElimit socket I/O bandwidth

--delete:让源目录SRC和目标目录数据DST一致

举例说明

1

本地之间的数据同步

环境

在根下创建两个目录,用来做实验

在其中backup目录中,生成十个文件

直接备份

操作

1

格式:rsync  参数 源文件  目标文件

/backup/这样的写法表示将/backup中的文件备份到/backup2

操作(2

/backup这样的写法表示将/backup目录被分到/backup2中,同时备份其中的所有子目录和文件。

差异备份

环境

backup中有backup2中没有的文件,通过rsyncbakcup2中没有的内容从backup中进行备份。

操作

1

只备份了11-16这些没有的文件

去异

环境

backup2中含有backup中没有的文件,在备份的时候,不想要这些文件,可以使用差异备份——删除,来剔除多余的部分。

操作

2

远程之间的数据同步

环境

打开第二台虚拟机,然后在/下创建一个backup目录。

在虚拟机上安装openssh-clients。并检查防火请和selinux是否关闭,如果没有关闭的话,将其关闭。

确保两台主机之间的连通性

操作

1

格式:rsymc 参数  本地路径 账号@IP地址:远程地址

输入root用户的密码,进行远程备份

操作

2

远程同步,删除不同的内容

操作

3

传目录

操作

4

将对方的目录中的内容,拉取到本地目录中

3.

Socket守护进程(重点

环境

两台机器:右边为服务端,启动socket进程,监听873接口;左边为客户端,推到服务端的873接口,具体放在那里由服务端决定。

1.

[root@centos ~]# vim /etc/rsyncd.conf

//创建程序启动的配置文件(在服务器上)

ps:一般程序启动起来,进程名字就是程序名字后加上d,如http进程为httpd

代码:

解释:

2.

[root@centos ~]# vim /etc/rsync.password

//编写虚拟账号的账号和密码

3.

调整密码文件的权限

不修改权限,实验将失败

4.

查询是否有/backup目录

5.

创建用户,让其不能登录并没有家目录

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

//创建程序用户rsync

[root@centos ~]# id rsync

uid=501(rsync) gid=501(rsync) =501(rsync)

//查询创建的rsync程序用户

6.

更改/backup目录的属主为rsync程序用户

[root@centos ~]# chown rsync /backup

7.

启动脚本

[root@centos ~]# rsync --daemon

8.

通过端口查看守护进程是否启动

9.

在客户端进行文件推送

格式:rsync 参数 本地目录 虚拟账号@IP地址::模块名称

ps:一个冒号后为备份到的目录;两个冒号表示备份到的模块名称。)

[root@centos ~]# rsync -avz /backup/ rsync_backup@192.168.200.4::backup

//推到目标主机的873端口,通过配置文件,调用backup模块,来执行

报错处理

当出现以下错误时,将不能正常启动rsync服务

解决措施:

进入/var/run目录,然后删除rsyncd.pid文件,或用cat rsyncd.pid查看进程号,然后用kill -9将其杀死。然后即可启动rsync服务。

当出现下列错误时,为:对方未关闭防火墙,使用service  iptables  stop关闭对方防火墙即可。

当出现以下错误时,为:推送服务器用于存储的目录,不属于rsync属主,所以会失败。比如/root/mulu/root目录属主为root/root/mulu属主为rsync也是不行的。必须都是rsync属主目录才可以。

免密登录

  1.

在客户机上创建一个rsync.password文件,并写入虚拟账号密码

[root@centos ~]# vim /etc/rsync.password

2.

修改文件权限

[root@centos ~]# chmod 600 /etc/rsync.password

3.

免密登录:

格式:rsync 参数 本地目录 虚拟账号@IP地址::模块 --password-file=密码文件绝对路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值