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

rsync同步目录脚本

假设有两台服务器的示例 IP 地址为:

  • Server A: 192.168.1.100
  • Server B: 192.168.1.200

现在来解释如何使用这个脚本进行服务器之间文件夹内容的同步,保留路径和服务器信息的抽象化。

1. 脚本文件位置和权限

假设脚本文件位于 /root/script.sh,首先为其添加执行权限:

chmod +x /root/script.sh

2. 脚本内容解析

脚本的内容如下,使用了通用的文件夹路径和服务器信息:

#!/bin/bash# SSH 用户名和服务器地址
USER="root"
SERVER_A="192.168.1.100"
SERVER_B="192.168.1.200"# 文件夹路径,假设需要同步的目录在两台服务器上的路径
FOLDER_A="/path/to/folder/on/serverA/"
FOLDER_B="/path/to/folder/on/serverB/"# SSH 密码
SSHPASS="your_ssh_password"# 从 SERVER_A 同步到本地 SERVER_B
sshpass -p "$SSHPASS" rsync -avz -e "ssh -o StrictHostKeyChecking=no" "$USER@$SERVER_A:$FOLDER_A" "$FOLDER_B"# 从本地 SERVER_B 同步到 SERVER_A
sshpass -p "$SSHPASS" rsync -avz -e "ssh -o StrictHostKeyChecking=no" "$FOLDER_B" "$USER@$SERVER_A:$FOLDER_A"echo "Sync complete."

3. 执行脚本

在终端中以 root 用户身份执行脚本:

sudo /root/script.sh

4. 注意事项

  • 安全性: 脚本中使用了明文密码 (SSHPASS="your_ssh_password"),在实际使用中应使用安全的密码管理或 SSH 密钥认证来替代密码认证。
  • 路径和地址确认: 确保实际填入的文件夹路径和服务器地址与你的实际环境相符合,避免同步错误的目录或服务器。
  • 日志和错误处理: 对于重要的同步任务,可以添加日志记录和错误处理机制,以便追踪同步过程中的问题。

这个脚本适用于需要在两台服务器之间定期同步特定文件夹内容的情况,通过自动化脚本可以有效简化操作流程并提高效率。

相关文章:

  • 顶顶通呼叫中心中间件-限制最大通话时间(mod_cti基于FreeSWITCH)
  • 人类如何挣脱被人工智能替代的命运?
  • 眼见不一定为实之MySQL中的不可见字符
  • spring boot接入nacos 配置中心
  • C语言数据存储大小端问题
  • 解决跨域问题,过滤器Filter,Servlet容器最重要的技术之一(基于SpringBoot开发过滤器)
  • ESP32 IDF ADF 加入音频
  • 【机器学习】基于稀疏识别方法的洛伦兹混沌系统预测
  • 机器学习python实践——关于ward聚类分层算法的一些个人心得
  • 【ElasticSearch】ElasticSearch基本概念
  • 大前端技术分类
  • 计算机网络:网络层 - 路由选择协议
  • Python基础用法 之 转义字符
  • 山东大学软件学院创新项目实训开发日志——收尾篇
  • 网工内推 | H3C工程师,大专可投,无责底薪加提成
  • [译] React v16.8: 含有Hooks的版本
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • input实现文字超出省略号功能
  • javascript 总结(常用工具类的封装)
  • Python实现BT种子转化为磁力链接【实战】
  • React的组件模式
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • Spring声明式事务管理之一:五大属性分析
  • Yii源码解读-服务定位器(Service Locator)
  • 从tcpdump抓包看TCP/IP协议
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 给第三方使用接口的 URL 签名实现
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 回流、重绘及其优化
  • 解决iview多表头动态更改列元素发生的错误
  • 算法-插入排序
  • 算法系列——算法入门之递归分而治之思想的实现
  • 小程序测试方案初探
  • 自动记录MySQL慢查询快照脚本
  • 仓管云——企业云erp功能有哪些?
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #if等命令的学习
  • #QT(串口助手-界面)
  • #数学建模# 线性规划问题的Matlab求解
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (C#)一个最简单的链表类
  • (C++17) std算法之执行策略 execution
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (转载)利用webkit抓取动态网页和链接
  • ***通过什么方式***网吧
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .net dataexcel 脚本公式 函数源码
  • .net和jar包windows服务部署
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • //解决validator验证插件多个name相同只验证第一的问题
  • /var/log/cvslog 太大
  • @hook扩展分析
  • @Transactional类内部访问失效原因详解
  • [ vulhub漏洞复现篇 ] Grafana任意文件读取漏洞CVE-2021-43798