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 &

小结

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

相关推荐
yangshuo12819 分钟前
风车OVF镜像:解放AI开发限制的Ubuntu精简系统
linux·人工智能·ubuntu
文牧之16 分钟前
AutoVACUUM (PostgreSQL) 与 DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC (Oracle) 对比
运维·数据库·postgresql·oracle
flypig哗啦啦18 分钟前
ubuntu服务器版启动卡在start job is running for wait for...to be Configured
linux·运维·ubuntu
_Itachi__34 分钟前
LeetCode 热题 100 114. 二叉树展开为链表
linux·leetcode·链表
不之道37 分钟前
通过 wsl 安装 docker
运维·docker·容器
あ-1 小时前
CentOS7 OpenSSL升级1.1.1w
linux
tianyuanwo1 小时前
深入解读tcpdump:原理、数据结构与操作手册
linux·运维·服务器·tcpdump
xjdksxkmd1 小时前
5.11作业
运维·服务器·网络
tonngw2 小时前
【Mac 从 0 到 1 保姆级配置教程 12】- 安装配置万能的编辑器 VSCode 以及常用插件
git·vscode·后端·macos·开源·编辑器·github
电鱼智能的电小鱼2 小时前
产线视觉检测设备技术方案:基于EFISH-SCB-RK3588/SAIL-RK3588的国产化替代赛扬N100/N150全场景技术解析
linux·人工智能·嵌入式硬件·计算机视觉·视觉检测·实时音视频