linux两台服务器之间文件做同步

文章目录

概要

实现两台 Linux 服务器之间的文件同步,确保两台服务器上的文件保持一致。

一.使用到的包

1.使用到的包

1.unison-2.32.52-1.el6.rf.x86_64.rpm

2.inotify-tools-3.13-1.el6.rf.x86_64.rpm

2.下载地址:

bash 复制代码
https://download.csdn.net/download/yini123321/13054010

3.安装包

bash 复制代码
1.unison安装
rpm -ivh unison-2.32.52-1.el6.rf.x86_64.rpm

2.inotify
rpm -ivh inotify-tools-3.13-1.el6.rf.x86_64.rpm

4.验证安装是否成功
1.unison(任意一种都可以)

bash 复制代码
1.which unison

2.unison -version

3.rpm -qa | grep unison

2.inotify(任意一种都可以)

bash 复制代码
1.rpm -qa | grep inotify-tools

2.which inotifywait

3.inotifywait --version

二.服务器做免密登录

1.在服务器上执行如下命令(如果是以普通用户做免密切换到普通用户执行)

bash 复制代码
ssh-keygen -t rsa
bash 复制代码
一直回车
bash 复制代码
cd /home/test/.ssh

> 在以上目录下会生成两个文件
id_rsa
id_rsa.pub

2.需要登录的服务器

bash 复制代码
1.切换到普通用户
cd /home/test/.ssh
bash 复制代码
2.写入
cat id_rsa.pub >authorized_keys

3.测试登录

bash 复制代码
ssh 127.0.0.1(这你服务器的IP)

三. 同步脚本

1.创建shell脚本(rsync.sh

bash 复制代码
#!/bin/bash
IP=目标IP
src=/data
dst=/data
/usr/bin/inotifywait -mrq -e create,delete,modify,move,attrib,close_write $src | while read line; do /usr/bin/unison  -batch ${src} ssh://${IP}/${dst}
echo -n "$line " >> /var/log/inotify/inotify$(date +%u).log
echo `date | cut -d " " -f1-4` >> /var/log/inotify/inotify$(date +%u).log
done

2.授权

bash 复制代码
chmod -R 755 rsync.sh

四.定时任务执行

bash 复制代码
1.编辑定时任务
crontab -e
* * * * * /home/test/rsync.sh > /dev/null 2>&1 &
2.查看定时任务
crontab -l

* * * * * /home/test/rsync.sh > /dev/null 2>&1 &

小结

` 以上只是做了源同步到目标服务器,同样的目标同步到源,可以在目标服务器上做同样的操作即可,

相关推荐
杨云龙UP7 分钟前
ODA运维实战:Oracle 19c YJXT PDB表空间在线扩容全过程_20260503
linux·运维·服务器·数据库·oracle
郝学胜-神的一滴11 分钟前
跨平台动态库与头文件:从原理到命名的深度解析
linux·c++·程序人生·unix·cmake
yyuuuzz34 分钟前
aws 基础认知与实践注意点
运维·服务器·网络·云计算·github·aws
Rust语言中文社区38 分钟前
【Rust日报】2026-05-02 Temper - 用 Rust 编写的 Minecraft 服务器项目发布 0.1.0 版
运维·服务器·开发语言·后端·rust
吠品1 小时前
高性能JS数组操作:何时选用push、unshift、splice或扩展运算符?
linux·服务器·数据库
weixin_514253181 小时前
430-github-aguvis tmux
github
fish_xk1 小时前
Linux中的指令和权限
linux·运维·服务器
暴力求解1 小时前
Linux---内核态
linux·运维·服务器
mounter6252 小时前
深入理解 Linux 网络新特性:netkit 中的 RX/TX Queue Leasing 与 TCP Devmem
linux·服务器·网络·tcp/ip·kernel
untE EADO2 小时前
Nginx代理到https地址忽略证书验证配置
运维·nginx·https