目录
3、inotifywait :持续监控并实时输出监控结果的命令
前言
rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
一、rsync服务器
1、rsync介绍
Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。并且可以不进行改变原有数据的属性信息,实现数据的备份迁移特性。Rsync软件适用于unix/linux/windows等多种操作系统平台。
Rsync是一个快速和非常通用的文件复制工具。它能本地复制,远程复制,或者远程守护进程方式复制。它提供了大量的参数来控制其行为的各个方面,并且允许非常灵活的方式来实现文件的传输复制。它以其delta-transfer算法闻名。
rsync监听端口:873
rsync运行模式:C/S
2、全量备份
所有数据全部传送
把原来的文件和新的文件一起统一传送
全量复制,效率低
3、增量备份
在传输数据之前通过一些算法通过你有的数据和我有的数据进行对比,把不一样的数据通过网络传输
增量复制,效率较高
4、rsync命令
格式:rsync 选项 原始位置 目标位置
命令参数
-a #归档模式传输, 等于-tropgDl
-v #详细模式输出, 打印速率, 文件数量等
-z #传输时进行压缩以提高效率
-r #递归传输目录及子目录,即目录下得所有目录都同样传输。
-t #保持文件时间信息
-o #保持文件属主信息
-p #保持文件权限
-g #保持文件属组信息
-l #保留软连接
-P #显示同步的过程及传输时的进度等信息
-D #保持设备文件信息
-L #保留软连接指向的目标文件
-e #使用的信道协议,指定替代 rsh 的 shell 程序
--exclude=PATTERN #指定排除不需要传输的文件模式
--exclude-from=file #文件名所在的目录文件
--bwlimit=100 #限速传输
--partial #断点续传
--delete #让目标目录和源目录数据保持一致
5、同步特点
1、可以镜像保存整个目录树和文件系统。
2、可以很容易做到保持原来文件的权限、时间、软硬链接等等,无须特殊权限即可安装。
3、快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。
4、安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
5、支持匿名传输,以方便进行网站镜像。
6、rsync本地复制
rsync -avz /abc /opt 复制目录和文件
rsync -avz /abc/ /opt 只复制文件不会复制目录
7、配置源rsync的两种表示方法
格式一:
用户名@主机地址::共享模块名
rsync -avz backuper@192.168.112.120::wwwroot /root
格式二:
rsync://用户名@主机地址/共享模块名
rsync -avz rsync://backuper@192.168.112.120/wwwroot /root
8、免交互格式
echo "密码" > /etc/密码文件
chmod 600 /etc/密码文件
#设置周期性任务
crontab -e
30 22 * * * /usr/bin/rsync -az --delete --password-file=/etc/密码文件 backuper@192.168.109.12::wwwroot /opt
systemctl restart crond
systemctl enable crond
二、实验远程复制
- 服务器准备
主机 IP地址
rsync 192.168.112.110 rsyn源服务器
client 192.168.112.100 rsync客户端服务器
- 配置rsync源服务器
rpm -q rsync
yum -y install rsync
- 修改/etc/rsyncd.conf配置文件
vim /etc/rsyncd.conf
uid = nobody #用户id(权限低于root权限)
gid = nobody #组id(权限低于root权限)
use chroot = yes #禁锢在源目录(禁锢的对象:使用用户的权限和身份。禁锢的目标:源目录)
address = 192.168.80.1 #监听地址
port 873 #监听端口 tcp/udp 873,可通过 cat /etc/services | grep rsync 查看
log file = /var/log/rsyncd.log #日志文件位置
pid file = /var/run/rsyncd.pid #存放进程ID的文件位置
hosts allow = 192.168.80.0/24 #允许访问的客户机地址
###############以上是全局配置,以下是模块配######################
[wwwroot] ##第一个共享模块名
path = /var/www/html #源目录的实际路径
comment = Document Root of www.ljm.com
read only = yes #是否为只读
dont comperss = *.gz *.bz2 *.tgz *