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

使用rsync和inotidy-tools来进行实时备份文件夹数据

        在工作中遇到这个这么个需求,就是我们有一个samba的文件共享服务器,里面存了很多文件,然后我想实时备份这个samba共享文件的。

1、概述

只需要在源服务器上操作,并在源服务器上安装好rsync和inotidy-tools,目标服务器上只需要安装好rsync即可

2、备份操作步骤

1)安装rsync和 inotify-tools:

sudo apt-get install rsync inotify-tools
#Openeuler使用下面命令
dnf install rsync -y
dnf install inotify-tools -y

2)配置 SSH 密钥 (免密码登录)

因为rsync同步数据的时候要使用ssh来进行数据同步,所以需要配置免密登录,否则每次需要弹出输入密码的等待窗口。

在源服务器上生成 SSH 密钥对:

ssh-keygen -t rsa

将公钥复制到目标服务器的 authorized_keys 文件中:

ssh-copy-id user@target_server

将 user 替换为目标服务器上的用户名,target_server 替换为目标服务器的 IP 地址或域名。

3)创建同步脚本

脚本文件如下所示,sync.sh,内容如下:根据实际情况修改源文件夹和目标服务器ip、目标文件夹路径等参数

#!/bin/bash
SOURCE="/storage/data"
DESTINATION="root@192.168.0.220:/storage/dataBackup"
inotifywait -m -r -e modify,create,delete "$SOURCE" | while read path action file; doecho "Detected $action on $file, starting backup..."rsync -avz "$SOURCE/" "$DESTINATION"
done

4)执行脚本

执行脚本不能直接执行,需要在后台运行,并且将同步日志保存到文件中,命令如下:

nohup ./fileBackup.sh output.log 2>&1 &

http://www.xdnf.cn/news/2427.html

相关文章:

  • Awesome-Embodied-AI: 具身机器人的资源库
  • CentOS7.9安装Python 3.10.11并包含OpenSSL1.1.1t
  • STM32(M4)入门:定时器延时与系统滴答(价值 3w + 的嵌入式开发指南)
  • uni-app 中使用 mqtt.js 的完整版
  • uniapp: 低功耗蓝牙(BLE)的使用
  • 在winform中使用chromiumWebBrowser显示Echarts图表
  • 【RabbitMQ】保证消息不丢失
  • 汽车网络安全 -- 理解暴露面、攻击面和攻击向量
  • 极狐GitLab 议题权重有什么作用?
  • 编译流程、make命令与nccl-test中的Makefile解析
  • 【Spark入门】Spark简介:分布式计算框架的演进与定位
  • C++?动态内存管理!!!
  • 云计算赋能质检LIMS的价值 质检LIMS系统在云计算企业的创新应用
  • Unity3D Cinemachine 高级应用指南
  • PyDantic入门介绍:Python数据验证与解析的利器
  • 57页PPT|非结构化数据管理方案:从顶层设计到应用实践的系统方法论
  • AVL树的介绍与学习
  • 技能点总结
  • X11安装备忘
  • arcpy列表函数的应用(4)
  • 超参数详解:从基础概念到优化策略的全面指南
  • 大学之大:索邦大学2025.4.27
  • Linux的权限
  • RISC-V MCU定时器架构与低功耗设计
  • Redis ssd是什么?Redis 内存空间优化的点都有哪些?embstr 和 row、intset、ziplist分别是什么?
  • 区块链:去中心化应用(DApp)开发全流程解析
  • 区块链基石解码:分布式账本的运行奥秘与技术架构
  • Java 深度与实战 · 每日一读 :高频面试真题解析 · ReentrantLock / CAS / AQS 篇
  • 智慧水库与AI深度融合的实现方案及典型应用场景
  • CREATION OF UNIVERSES FROM NOTHING