当前位置: 首页 > news >正文

使用rsync及inotify实现两台Linux设备间的文件夹同步

一、背景

环境
由于业务需要,软件需要在CentOS 6.10 32位环境中进行编译。由于系统版本较老,无法实现使用vscode远程连接到CentOS上进行软件开发。为了仍能享受到vscode的便利,现借助SUSE作为vscode远程连接的开发环境,并将SUSE上的文件夹与CentOS服务器上的文件夹进行实时同步,需要编译时直接在CentOS服务器上对修改后的代码进行操作。

序号 机器角色 系统版本
1 编辑环境 Windows 10
2 开发环境 SUSE 15.2 64位
3 编译环境 CentOS 6.10 32位

二、实现

1. 安装rsync

CentOS 6.10和SLE 15.2均已自带rsync软件,可通过以下命令查询

rsync --version

可以看到当前安装的rsync版本为3.1.3
image

2. 安装inotify

SUSE 15.2系统中未安装inotify,可以使用以下命令进行安装

zypper install inotify-tools

3. 使用shell脚本后台运行保持文件夹同步

在自定义的路径下使用vim新建同步脚本

vim rsync_realTime.sh

在vim编辑页面按i键进入编辑模式,将以下内容粘贴到文件中

host=XXX.XXX.XXX.XXX               # 目标服务器的 IP 地址(备份服务器)
src=/home/用户名/src/               # 源服务器上要监控的备份目录(需要确保该目录存在)
des=/home/目标用户名/dest/          # 目标服务器上同步的目录路径,需要与目标服务器上的目录一致
user=用户名                         # 用于执行数据同步的用户名
inotifywait=/usr/bin/inotifywait   # inotifywait 命令的路径# timefmt为生成日志的每条内容时间格式,需要配合 --format使用,%T即为时间所在的位置
$inotifywait -mrq --timefmt '%Y-%m-%d %H:%M:%S %a' --format '%T %w%f %e' -e modify,delete,create,attrib $src | while read files; dorsync -avH --timeout=100 $src $user@$host:$desecho "${files} was rsynced" >> "/home/用户名/自定义日志路径,如logForSync/rsync_$(date +%Y%m%d).log" 2>&1
done

按esc键后,输入:wq保存并退出
在相同路径下使用vim新建后台启动脚本

vim startRsync.sh

在vim编辑页面按i键进入编辑模式,将以下内容粘贴到文件中

nohup bash rsync_realTime.sh > /dev/null 2>&1 & # 后台运行rsync_realTime.sh脚本,并不保存输出内容# 如果需要保存输出内容可将/dev/null改为自定义的存储位置

可根据自己的需求设定startRsync.sh是否开机自启动

三、其他

如果需要停止后台运行的同步脚本,可以输入以下指令

ps -def | grep -i "rsync_realTIme" | grep -v grep | awk '{print $2}' | xargs kill -9
http://www.gsyq.cn/news/41012.html

相关文章:

  • 教育部等七部门关于加强中小学科技教育的意见-解读
  • QwQ 32B VS DeepSeek R1
  • 2025 年 11 月氟碳喷涂精致钢厂家推荐排行榜,门窗精致钢,幕墙精致钢,装饰精致钢,定制精致钢公司推荐
  • 2025 年 11 月社区养老院,老年痴呆养老院,自理老人住养老院最新推荐,聚焦资质、案例、售后的五家机构深度解读
  • Branching Heuristic Combining in SAT
  • HTML、CSS 和 JavaScript 基础知识笔记
  • 2025年昆明民办高中优质学校排名:比较不错的民办高中品牌学校
  • 2025 年最新推荐电镀加工优质厂家榜单:环保达标与质量稳定企业全面盘点及选择指南美妆系列五金件/手镯/宠物链电镀加工公司推荐
  • 一款开源的微信公众号Markdown编辑器
  • Docker实操:安装MySQL5.7详解
  • 在 Docker 中部署 FTP 服务器
  • 在AI技术唾手可得的时代,挖掘新需求成为核心竞争力——某知名自动化脚本项目需求洞察
  • kafka-ui-docker-compose.yml
  • lprm命令 – 移除打印队列中的任务
  • 2025 年 11 月隐框幕墙精致钢厂家推荐排行榜,隐框幕墙精致钢型材,幕墙精致钢构件,精致钢幕墙材料公司推荐,专业品质与结构安全之选
  • 遍插茱萸少一N
  • 高教工具箱使用说明书.docx
  • 2025石家庄设计公司权威排行推荐榜:石家庄vi设计公司,石家庄画册设计公司品牌实力与创意服务的全景评测
  • 2025年博物馆数字展厅制造企业权威推荐榜单:智能化展厅/企业展厅LED屏/企业展示展厅源头厂家精选
  • 基于直方图均衡化的图像去雾算法改进
  • 2025年现代候车亭企业权威推荐榜单:现代公交候车亭/现代公交站台/现代公交站亭源头厂家精选
  • 大屏动态交互总结
  • win7 系统完美运行. net 8 程序 所需依赖总结
  • CTF-show_Web方向(更新中)
  • C语言运维面试:四大核心概念解析 - 指南
  • GMP-MES之常用术语、流程及动作
  • 251105B. 换来换去/card
  • AI开发实践:如何通过案例学习快速上手项目开发
  • CentOS 7 安装条码识别工具 zbar
  • 2025深圳艺考生文化课辅导推荐榜:全日制艺考生文化课培训机构,精准提分机构精选