淘客网站如何建设自己数据库,黄村做网站的公司,营销型企业网站模板,手机软件制作和做网站相同一、什么是Rsync Rsync是一款开源的#xff0c;快速的#xff0c;多功能的#xff0c;可实现全量及增量#xff08;差异化备份#xff09;的本地或远程数据同步备份的优秀工具。 Rsync软件适用于Unix、Linux、Windows等多种操作系统。
#xff08;1#xff09;可使本地…一、什么是Rsync Rsync是一款开源的快速的多功能的可实现全量及增量差异化备份的本地或远程数据同步备份的优秀工具。 Rsync软件适用于Unix、Linux、Windows等多种操作系统。
1可使本地和远程两台主机之间的数据快速复制同步镜像远程备份的功能这个功能类似ssh带scp命令但又优于scp命令的功能scp每次都是全量拷贝而rsync可以增量拷贝。
2rsync还可以在本地主机的不同分区或目录之间全量及增量的复制数据
3利用rsync还可以实现删除文件和目录的功能。相当于rm
4rsync相当于scp,cp.rm但是还优于他们每一个命令。 在同步备份数据时默认情况下rsync通过独特的“quick check” 算法它仅同步大小或者最后修改时间发生变化的文件或目录当然也可以是根据权限属主等属性的变化同步但需要指定相应的参数甚至可以实现只同步一个文件里有变化的内容部分所以可以实现快速的同步备份数据。 Rsync特性 1.能更新整个目录树和文件系统 2. 有选择性的保持符号链链、硬链接、文件属性、权限、设备以及时间等 3. 传输前执行压缩因此非常适用于异地备份、镜像服务器等应用。 4. 能用rsh、ssh 或直接端口做为传输端口 5. 支持匿名rsync 同步文件是理想的镜像工具 Rsync可以通过rsh或ssh使用也能以daemon模式去运行在以daemon方式运行时Rsync server会打开一个873端口等待客户端去连接。 在远程同步任务中负责发起rsync同步操作的客户机称为发起端而负责响应来自客机的rsync同步操作的服务器称为备份源。
二、Rsync远程同步 1.下行同步 1实验环境
虚拟机版本VMware® Workstation 16 Pro 16.2.4 build-20089737镜像版本CentOS-7-x86_64-DVD-1708.isorsync版本rsync-3.1.2-12.el7_9.x86_64源服务器地址192.168.254.106/24客户机地址192.168.254.107/242实验要求 通过配置Rsync远程同步来完成下行同步 3实验配置
服务端配置
关闭防火墙 systemctl stop firewalld setenforce 0 查看rsync服务 rpm -q rsync #一般已默认安装rsync 修改/etc/rsyncd.conf 配置文件
uid root
gid root
use chroot yes //禁锢在源目录
address 192.168.254.106 //监听地址
port 873 //监听端口
log file /var/log/rsyncd.log //指定日志文件
pid file /var/run/rsyncd.log //指定存放进程id的文件
host allow 192.168.254.0/24 //指定客户机网段
dont compress *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 //以下文件格式传输时不再压缩 [myhtml] //共享模块名称 path /var/www/html //备份源数据路径 comment this is rsync of www.wcy.com //备注信息 read only yes //设置客户端只读 auth users lisi //授权用户名字 secrets file /etc/rsyncd_users.d //存放授权用户的信息文件路径
#如采取匿名的方式只要将其中的“auth users” 和 “secrets file” 配置项去掉即可。 保证所有用户对源数据目录/var/www/html都有读取权限
vim /etc/rsyncd_users.db //创建数据文件输入用户和密码
chmod 600 /etc/rsyncd_users.db //更改文件权限 lisi123456 rsync --deamon //启动服务 #关闭rsync服务
kill $(cat /var/run/rsyncd.pid)
rm -rf /var/run/rsyncd.pid 客户端配置
rsync -avz lisi192.168.254.106::test /opt/ //进行测试 格式 rsync [选项] 原始位置 目标位置
选项 作用 -r 递归模式包含目录及子目录中的所有文件 -l 对于符号链接文件仍然复制为符号链接文件 -v 显示同步过程的详细verbose信息 -v 在传输文件时进行压缩compress -a 归档模式保留文件的权限、属性等信息等同于组合选项“-rlptgop -p 保留文件的权限标记 -t 保留文件的时间标记 -g 保留文件的属组标记仅超级用户使用 -o 保留文件的属主标记仅超级用户使用 -H 保留硬连接文件 -A 保留ACL属性信息 -D 保留设备文件及其他特殊文件 --delete 删除目标位置有而原始位置没有的文件 --checksum 根据校验和而不是文件大小、修改时间来决定是否跳过文件
同步备份源 格式一用户名ip::共享模块名 rsync -avz backuper192.168.247.99::myhtml /opt/ky/ 格式二rsync://用户名IP/共享模块名 rsync -avz rsync://backuper192.168.247.99/myhtml /opt/ky/ rsync -avz -e ssh -p ssh端口号 原始位置 目标位置 rsync -avz -e ssh -p 22 root192.168.247.99:/var/www.html/ /opt/ky/ 服务端放入文件 客户端进行接收 免交互 在客户端创建密码文件密码文件权限必须为600除了属主其他人都没有查看权限 使用 --password-file命令 可以看出不需要密码了
还可以使用crontab -e 命令设置定时同步
2.Rsync上行同步实时同步
定期同步的不足
执行备份的时间固定延迟明显、实时性差当同步源长期不变化时密集的定期任务是不必要的
实时同步的优点
一旦同步源出现变化立即启动备份只要同步源无变化则不执行备份
Linux内核的inotify机制
从版本2.6.13开始提供可以监控文件系统的变动情况并做出通知响应辅助软件inotify-tools
发起端配置rsncinotify 使用inotify通知接口可以用来监控文件系统的各种变化情况如文件存取、删除、移动、修改等。利用这一机制可以非常方便地实现文件异动告警、增量备份并针对目录或文件的变化及时作出响应。 将inotify机制与rsync工具相结合可以实现触发式备份实时同步即只要原始位置的文档发生变化则立即启动增量备份操作否则处于静默等待状态。因为 inotify 通知机制由 Linux 内核提供因此主要做本机监控在触发式备份中应用时更适合上行同步。
配置rsync上行同步 1实验环境
虚拟机版本VMware® Workstation 16 Pro 16.2.4 build-20089737镜像版本CentOS-7-x86_64-DVD-1708.isorsync版本rsync-3.1.2-12.el7_9.x86_64源服务器地址192.168.254.106/24客户机地址192.168.254.107/242实验要求 通过配置Rsync远程同步来完成上传同步 3实验配置
服务端配置
修改rsync源服务器配置文件
vim /etc/rsyncd.conf 重启服务后修改目录权限 2、调整inotify内核参数
max_queue_events监控事件队列大小默认值为16384max_user_instances最多监控实例数默认值为128max_user_watches每个实例最多监控文件数默认值为8192
当要监控的目录、文件数量较大或者变化较为频繁时建议加大这三个参数的值
vim /etc/sysctl.conf //通过修改配置文件更改参数 使用sysctl -p 检查 3、安装inotify-tools 用inotify 机制还需要安装inotify-tools 以便提供inotifywait、 inotifywatch 辅助工具程序用来监控、汇总改动情况。 inotifywait可监控modify (修改)、create (创建)、move (移动)、delete (删除)、attrib ( 属性更改)等各种事件一有变动立即输出结果。 inotifywatch可用来收集文件系统变动情况并在运行结束后输出汇总的变化情况。
解压缩安装包 tar zxvf inotify-tools-3.14.tar.gz -C /opt/ 编译安装 ./configure make make install 执行inotifywait命令然后开启另一个新终端向/opt/kgc目录下添加文件、移动文件在原来的终端中跟踪屏幕输出结果。 inotifywait -mrq -e modify,create,move,delete /opt/kgc 选项
-e用来指定要监控哪些事件 -m表示持续监控 -r表示递归整个目录 -q简化输出信息 在发起端编写触发式同步脚本 在另外一个终端编写触发式同步脚本注意脚本名不可包含 rsync 字符串否则脚本可能不生效。 加上权限加入开机自启
后台运行脚本
3、如何使用rsync工具删除大量文件
1.实验环境 虚拟机版本 VMware® Workstation 16 Pro 16.2.4 build-20089737 镜像版本 CentOS-7-x86_64-DVD-1708.iso rsync版本 rsync-3.1.2-12.el7_9.x86_64 主服务器地址 192.168.254.106/24
2.实验要求
通过使用rsync工具删除文件夹内的大量数据
3.实验具体配置
Rpm -q rsync //检查rsync是否安装
mkdir /home/empty //创建空文件夹
mkdir /home/full
touch file.{1..1000} //创建含有大量文件的文件夹 rsync --delete-before -avH --progress --stats /home/empty/ /home/full/
rsync --delete-before接收者在接收者在传输进行删除操作 -a 归档模式表示以递归方式传输文件并保持所有文件属性 -H 保持硬连接的文件 -v 详细输出模式 --progress 在传输时显示传输过程 --stats 给出某些文件的传输状态
/home/empty/ 指定空文件夹位置
/home/full/ 指定要删除文件夹位置