源码安装,rsync数据同步的使用

步骤3:./configure 配置,指定安装目录/功能模块等选项

步骤4:make 编译,生成可执行的二进制程序文件

步骤5:make install 安装,将编译好的文件复制到安装目录

真机tools.tar.gz 传递数据到虚拟机

真机为Linux:

]# ls /linux-soft/s1

]# scp /linux-soft/s1/tools.tar.gz root@192.168.88.240:/root

真机为windows:windterm进行上传tools.tar.gz

虚拟机A

1.安装开发工具

[root@server ~]# yum  -y   install  gcc   make
[root@server ~]# rpm   -q   gcc
[root@server ~]# rpm   -q   make
[root@server ~]#

2.进行解压缩

[root@server ~]# tar  -xf  /root/tools.tar.gz  -C  /usr/local
[root@server ~]# ls   /usr/local/tools
inotify-tools-3.13.tar.gz

3.进行tar解包

[root@server ~]# tar -xf /usr/local/tools/inotify-tools-3.13.tar.gz -C /usr/local/          
[root@server ~]# ls    /usr/local/
[root@server ~]# cd     /usr/local/inotify-tools-3.13/
[root@server ~]# ls

4.运行configure脚本

作用1:检测当前系统是否安装gcc

作用2:指定安装位置与功能

作用3:生成Makefile文件(制作程序的大纲,做菜的菜谱)

./configure --prefix=/opt/myrpm #指定安装位置,

./相对路径

[root@server ~]# cd   /usr/local/inotify-tools-3.13/
[root@server ~]# ./configure  --help   #查看帮助信息,大概浏览一下
[root@server ~]# ./configure  --prefix=/opt/myrpm #指定安装位置,此步骤不产生相应的目录
常见的报错信息:gcc开发工具没有安装

checking for gcc... no

checking for cc... no

checking for cl.exe... no

configure: error: no acceptable C compiler found in $PATH

See `config.log' for more details.

5.进行make编译,变成可以执行的程序(放在内存中)

[root@server ~]# cd /usr/local/inotify-tools-3.13/
[root@server inotify-tools-3.13]# make

如果重新出现错误,重头再来

6.进行make install安装

生成以下文件为成功安装

[root@server ~]# cd /usr/local/inotify-tools-3.13/
[root@server inotify-tools-3.13]# make   install 
[root@server inotify-tools-3.13]# ls   /opt/
[root@server inotify-tools-3.13]# ls   /opt/myrpm/
[root@server inotify-tools-3.13]# ls   /opt/myrpm/bin/

数据同步

命令用法

rsync [选项...] 源目录 目标目录 只传输变化过的数据

运行一次命令,同步一次

文件级别 eg:1.txt文件发生变化,整个文件传输

• rsync操作选项

-n:测试同步过程,不做实际修改

--delete:删除目标文件夹内多余的文档

-a:归档模式,相当于-rlptgoD

-v:显示详细操作信息

-X:保持acl策略不变

-z :自动压缩或解压(省略不写)

常用命令: rsync -aavXSH --delete


rsync 是一个用于文件同步和传输的强大工具,
而 rsync -aavXSH --delete 则是一条命令,包含了多个选项,
用于执行高级的文件同步操作。下面是这个命令中各个选项的含义:
● -a: 表示归档模式,保留文件属性,递归同步子目录,保持文件权限、所有者信息、时间戳等。
● -a: 另一个 -a 选项,表示递归同步子目录。
● -v: 显示详细输出,使 rsync 在执行时显示更多信息。
● -X: 保持扩展属性。
● -S: 保持稀疏文件。
● -H: 保持硬链接文件。
● --delete: 在目标目录中删除源目录没有的文件,实现镜像同步。
综合起来,rsync -aavXSH --delete 命令的作用是在执行文件同步时,
保留所有文件属性,包括权限、所有者信息、时间戳等;同时保持扩展属性、稀疏文件、硬链接文件;
并且在目标目录中删除源目录没有的文件,实现目录之间的镜像同步。
这条命令适用于需要保持两个目录内容同步的场景,确保目标目录与源目录保持一致。
但请注意,在使用 rsync 进行文件同步时,务必谨慎操作,以免意外删除重要文件。
建议在执行此类操作前先做好备份

-r:递归,包括目录/子目录及所有文件

-l:保留符号链接文件

-p,-t:保留文件的权限,时间标记

-o,-g:保留文件的属主/属组标记

-D:保留设备文件及其他特殊文件

5 本地同步

源文件路径,没有/ 表示同步目录本身

源文件路径,有/表示同步路径目录内的内容

rsync -avX --delete /mydir/

[root@server ~]# mkdir   /mydir    /todir               
[root@server ~]# echo haha >  /mydir/h.txt      
[root@server ~]# rsync  -avX  --delete   /mydir/      /todir   #同步目录的内容
[root@server ~]# ls   /mydir/
[root@server ~]# ls   /todir/
[root@server ~]# touch   /todir/a.txt          
[root@server ~]# ls  /todir/
[root@server ~]# rsync  -avX  --delete  /mydir/      /todir
[root@server ~]# ls   /todir/
[root@server ~]# ls   /mydir/

6 远程同步(rsync+ssh)

• 与远程的 SSH目录保持同步

下行:rsync [...] user@host:远程目录 本地目录

上行:rsync [...] 本地目录 user@host:远程目录

虚拟机A的/mydir目录的内容与虚拟机B的/mnt进行同步

同步的目录没有会进行创建目录

虚拟机A:

[root@server ~]# rsync  -avX  --delete  /mydir/    root@192.168.88.2:/mnt
……..connecting (yes/no)? yes
root@192.168.88.2's password:         #输入密码

虚拟机B:

[root@server ~]# ls   /mnt

7 实时数据同步

虚拟机A的/mydir/目录的内容与虚拟机B的/mnt进行同步

实现ssh无密码验证(公钥与私钥)

虚拟机A

1.虚拟机A生成公钥与私钥

[root@server ~]# ssh-keygen         #一路回车
[root@server ~]# ls    /root/.ssh/
id_rsa(私钥)   id_rsa.pub(公钥)    known_hosts(记录曾经远程管理过的机器)

2.虚拟机A将公钥传递给虚拟机B

[root@server ~]# ssh-copy-id     root@192.168.88.2
[root@server ~]# rsync  -avX --delete   /mydir/    root@192.168.88.2:/mnt

监控目录内容变化工具

• 基本用法

inotifywait [选项] 目标文件夹

• 常用命令选项

-m,持续监控(捕获一个事件后不退出)

-r,递归监控、包括子目录及文件

-q,减少屏幕输出信息 -qq:不要屏幕输出

-e,指定监视的 modify、move、create、delete、attrib 等事件类别

inotifywait  监控目录内容变化
rsync  -avX  --delete   /mydir/    root@192.168.88.2:/mnt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值