网站建设的标语网站建设维护是做什么的
- 作者: 五速梦信息网
- 时间: 2026年04月20日 07:51
当前位置: 首页 > news >正文
网站建设的标语,网站建设维护是做什么的,湖南郴州最新消息,国外教做蛋糕的网站文章目录 Linux系统下数据同步服务RSYNC一、RSYNC概述1、什么是rsyncrsync的好姐妹数据同步过程 2、rsync特点3、rsync与scp的区别 二、RSYNC的使用1、基本语法2、本地文件同步3、远程文件同步思考#xff1a;4、rsync作为系统服务Linux系统服务的思路#xff1a; 三、任务解… 文章目录 Linux系统下数据同步服务RSYNC一、RSYNC概述1、什么是rsyncrsync的好姐妹数据同步过程 2、rsync特点3、rsync与scp的区别 二、RSYNC的使用1、基本语法2、本地文件同步3、远程文件同步思考4、rsync作为系统服务Linux系统服务的思路 三、任务解决方案(重点)1、环境准备第一步关闭防火墙与SELinux第二步更改主机名称第三步更改IP地址静态IP第四步关闭NetworkManager第五步配置YUM源第六步时间同步 2、任务解决方案第一步准备代码文件第二步把rsync作为系统服务运行第三步创建备份目录第四步测试rsync是否可以连接到rsync服务第五步编写计划任务 Shell的脚本文件自动实现代码备份 3、任务总结 四、RSYNC课程扩展1、给RSYNC服务添加密码2、RSYNC集合INOTIFY工具实现代码实时同步(重点)第一步在Code服务器端安装inotify-tools工具监控器 Linux系统下数据同步服务RSYNC 一、RSYNC概述 1、什么是rsync rsync的好姐妹 sync 同步刷新文件系统缓存强制将修改过的数据块写入磁盘并且更新超级块。async 异步将数据先放到缓冲区再周期性一般是30s的去同步到磁盘。rsync 远程同步remote synchronous 数据同步过程 sync数据同步 保存文件目标 强制把缓存中的数据写入磁盘立即保存实时性要求比较高的场景 asyn数据异步 保存文件目标 将数据先放到缓冲区再周期性一般是30s的去同步到磁盘适合大批量数据同步的场景 2、rsync特点 可以镜像保存整个目录树和文件系统可以保留原有的权限(permission,mode)owner,group,时间(修改时间,modify time)软硬链接文件acl文件属性(attributes)信息等传输效率高使用同步算法只比较变化的增量备份 file1.txt file2.txt file3.txt(A服务器) rsync实现数据同步 只同步file3.txt 增量备份 file1.txt file2.txt(B服务器)支持匿名传输方便网站镜像也可以做验证加强安全 3、rsync与scp的区别 两者都可以实现远程同步但是相对比而言rsync能力更强 ① 支持增量备份 ② 数据同步时保持文件的原有属性 二、RSYNC的使用 1、基本语法
man rsync
NAMErsync — a fast, versatile, remote (and local) file-copying tool//一种快速、通用、远程和本地的文件复制工具
SYNOPSIS//本地文件同步Local:rsync [OPTION…] SRC… [DEST]//远程文件同步Access via remote shell:Pull: rsync [OPTION…] [USER]HOST:SRC… [DEST]Push: rsync [OPTION…] SRC… [USER]HOST:DEST
OPTION选项说明
-v 详细模式输出
-a 归档模式递归的方式传输文件并保持文件的属性equals -rlptgoD
-r 递归拷贝目录
-l 保留软链接
-p 保留原有权限
-t 保留原有时间修改
-g 保留属组权限
-o 保留属主权限
-D 等于–devices –specials 表示支持b,c,s,p类型的文件
-R 保留相对路径
-H 保留硬链接
-A 保留ACL策略
-e 指定要执行的远程shell命令ssh更改端口常用选项
-E 保留可执行权限
-X 保留扩展属性信息 a属性PUSH推相当于上传PULL拉相当于下载
2、本地文件同步
本地文件同步简单理解就是把文件从一个位置同步拷贝到另外一个位置类似cp
案例/dir1、/dir2与/dir3/dir1中创建三个文件file1、file2、file3使用rsync本地同步 # mkdir /dir1# mkdir /dir2# mkdir /dir3# touch /dir1/file{1..3}# rsync -av /dir1/ /dir2 把/dir1目录中的所有文件拷贝到/dir2目录中# rsync -av /dir1 /dir3 把/dir1目录整体同步到/dir3目录中案例rsync -R选项的应用保留相对路径 # rsync -avR /dir1/ /dir2案例rsync –delete删除目标目录里多余的文件
/dir1 /dir2file1、file2 file1、file2、file3rsync –delete同步后会自动删除file3文件。让dir1与dir2目录中的文件高度一致# rsync -av –delete /dir1/ /dir23、远程文件同步
Push上传文件到远程服务器端
rsync -av 本地文件或目录 远程用户名远程服务器的IP地址:目标路径案例把linux.txt文档传输到远程服务器端192.168.1.12
rsync -av linux.txt 案例把shop文件夹传输到远程服务器端192.168.1.12
rsync -av shop root192.168.1.12:/rootPull下载文件到本地服务器端
rsync -av 远程用户名远程服务器的IP:目标文件或目录 本地存储位置案例把远程服务器192.168.1.12的/etc/hosts文件下载到本地
rsync -av root192.168.1.12:/etc/hosts ./案例把远程服务器192.168.1.12的/shop文件夹下载到本地
rsync -av root192.168.1.12:/shop ./
rsync -av -e ssh -p 2222 root121.43.54.39:/root/xxx.txt思考
问题1rsync远程同步数据时默认情况下为什么需要密码如果不想要密码同步怎么实现 rsync在远程同步时之所以要输入密码的主要原因在于其底层还是基于SSH服务的。SSH有两种认证方式如果没有配置免密则默认使用用户名密码的认证方式。 不想要密码同步可以考虑使用SSH免密操作。 Code Backup Code
ssh-keygen -t rsa -P
ssh-copy-id root192.168.1.12问题2如果Backup服务器端更改了SSH的默认端口那这个数据该如何
rsync -e ssh -p 10086 -av rsync.txt root192.168.1.12:/root4、rsync作为系统服务
默认情况下rsync只是作为一个命令来进行使用的ps在查询进程时找不到对应的服务但是rsync提供了一种作为系统服务的实现方式。 Linux系统服务的思路 对外提供服务——端口监听——启动服务——启动脚本——配置文件 第一步启动rsyncd服务CentOS6中没有CentOS7中有这个服务 #端口监听 natstat naput | grep 2222
systemctl start rsyncd
#/usr/bin/rsync –daemon 后台启动第二步rsyncd服务的配置文件/etc/rsyncd.conf
man 5 rsyncd.conf三、任务解决方案(重点)
1、环境准备 编号 IP地址 主机名称 角色 1 192.168.1.11 代码服务器 hd1 CodeMIS 2 192.168.1.12 hd2 BackupBackup 第一步关闭防火墙与SELinux
systemctl stop firewalld
systemctl disable firewalld# setenforce 0
vim /etc/selinux/config
SELINUXdisabled第二步更改主机名称
hostnamectl set-hostname hd1 #在第一台服务器上
hostnamectl set-hostname hd2 #在第二胎服务器上第三步更改IP地址静态IP
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPEEthernet BOOTPROTOnone IPADDR192.168.1.11 NETMASK255.255.255.0 GATEWAY192.168.1.2 DNS18.8.8.8 DNS2114.114.114.114 NAMEens33 UUIDa5bb176c-c05c-4bdb-8975-a4aafa2fc90u 更改UUID的后3位 DEVICEens33 ONBOOTyes# vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPEEthernet BOOTPROTOnone IPADDR192.168.1.12 NETMASK255.255.255.0 GATEWAY10.1.1.2 DNS18.8.8.8 DNS2114.114.114.114 NAMEens33 UUIDa5bb176c-c05c-4bdb-8975-a4aafa2fc56y 更改UUID的后3位 DEVICEens33 ONBOOTyes# systemctl restart network第四步关闭NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager第五步配置YUM源
略第六步时间同步
ntpdate cn.ntp.org.cn2、任务解决方案
Code192.168.1.11服务器 第一步准备代码文件
mkdir /app/java_project -p
mkdir /app/java_project/aa{1..3}
touch /app/java_project/file{1..9}.java第二步把rsync作为系统服务运行
vim /etc/rsyncd.conf
[app] path/app/java_project log file/var/log/rsync.log# systemctl start rsyncd# ps -ef |grep rsync
netstat -tnlp |grep rsync切换到Backup192.168.1.12
第三步创建备份目录
mkdir /backup/app1_java -p第四步测试rsync是否可以连接到rsync服务
rsync -a root192.168.1.11::app
-a获取rsync服务对应的同步目录标签下载文件到本地
rsync -av root192.168.1.11::app /backup/app1_java
两个表示走的不是ssh协议第五步编写计划任务 Shell的脚本文件自动实现代码备份 ① 编写计划任务
crontab -e
3 1 * * * /root/rsync_java.sh ② 编写rsync_java.sh脚本程序
vim rsync_java.sh
#!/bin/bash rsync -av root192.168.1.11::app /backup/app1_java /dev/null #表示错误重定向和正确重定向# chmod x rsync_java.sh3、任务总结 Code代码服务器 192.168.1.11 /app/java_project Backup备份服务器 192.168.1.12 Code ① 准备代码 ② 编写/etc/rsyncd.conf文件定义同步代码目录 ③ 启动rsyncd服务 Backup ① 测试rsync是否可以连接到Code服务器上的rsyncd服务 ② 创建备份目录 ③ 编写计划任务凌晨1点03去Code服务器同步代码 ④ 编写rsync_java.sh文件实现同步操作 四、RSYNC课程扩展 1、给RSYNC服务添加密码 Code服务器 ① 打开/etc/rsyncd.conf配置文件
vim /etc/rsyncd.conf
[app] path/app/java_project log file/var/log/rsync.log auth users user1,user2 用户名 secrets file /etc/rsyncd.secrets 密码文件② 在/etc目录下创建rsyncd.secrets文件
vim /etc/rsyncd.secrets
user1:123 设置密码用户名:密码 user2:123③ 更改密码文件权限为600
chmod 600 /etc/rsyncd.secrets ④ 重启rsyncd服务
systemctl restart rsyncdBackup 192.168.1.12备份服务器
rsync -av user1192.168.1.11::app ./
Password:123避免人机交互的方式 [roothd2 ~]# cat /etc/rsync_passwd #创建一个密码文件 123 [roothd2 ~]# chmod 600 /etc/rsync_passwd #设置权限 [roothd2 ~]# rsync -av user1192.168.1.11::app /backup/app1_java/ –password-file/etc/rsync_passwd #这是一行2、RSYNC集合INOTIFY工具实现代码实时同步(重点) 说明一下此实验最好在ssh免密的环境下实现 第一步在Code服务器端安装inotify-tools工具监控器 源码安装需要的软件 # yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel将inotify-tools-3.13.tar.gz包传到虚拟机中# tar xf inotify-tools-3.13.tar.gz -C /usr/local/# cd /usr/local/inotify-tools-3.14# ./configure# make # make install安装完后就会产生下面两个命令/usr/local/bin/inotifywait 等待/usr/local/bin/inotifywatch 看守/usr/local/bin/inotifywait-m : 一直监控某个目录create、delete、modify等行为-r : 递归不仅仅监控目录还要监控目录下的文件-q : 获取操作信息但是不输出-e : 哪些行为需要被监控modify,delete,create,attrib,movemodify: 文件被修改delete: 文件被删除create: 文件被创建attrib: 文件属性被修改move: 文件被移动#### 第二步编写inotify.sh# vim inotify.sh#!/bin/bash/usr/local/bin/inotifywait -mrq -e modify,delete,create,attrib,move /app/java_project |while read eventsdorsync -av –delete /app/java_project/ root192.168.1.12:/backup/app1_javaecho date %F\ %T出现事件$events /var/log/rsync.log 21done我对/app/java_project做了两件事① 在目录下创建了一个file9.java create② 在目录下删除了一个file5.java deletecreate,delete while 执行两次creatersync数据同步deletersync数据同步/usr/local/bin/inotifywait -mrq -e modify,delete,create,attrib,move /监听文件#### 第三步添加可执行权限# chmod x inotify.sh#### 第四步让inotify.sh文件一直执行下去# nohup ./inotify.sh : 让inotify.sh在计算机后台运行可以使用jobs命令查看kill %编号结束当我们退出终端时这个执行会自动结束nohup : 让程序一直在后台运行即使我们关闭了终端扩展如何查看rsync.log日志文件# cat /var/log/rsync.log—
- 上一篇: 网站建设的必要性及意义个人主页搭建
- 下一篇: 网站建设的不足wordpress兼容手机端
相关文章
-
网站建设的必要性及意义个人主页搭建
网站建设的必要性及意义个人主页搭建
- 技术栈
- 2026年04月20日
-
网站建设的背景怎么做 代刷网站
网站建设的背景怎么做 代刷网站
- 技术栈
- 2026年04月20日
-
网站建设的500字小结中企动力企业邮箱登录首页
网站建设的500字小结中企动力企业邮箱登录首页
- 技术栈
- 2026年04月20日
-
网站建设的不足wordpress兼容手机端
网站建设的不足wordpress兼容手机端
- 技术栈
- 2026年04月20日
-
网站建设的步骤图珠海网站推广
网站建设的步骤图珠海网站推广
- 技术栈
- 2026年04月20日
-
网站建设的成本wordpress要收钱吗
网站建设的成本wordpress要收钱吗
- 技术栈
- 2026年04月20日
