rsync同步目录脚本

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

  • Server A: 192.168.1.100
  • Server B: 192.168.1.200

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

1. 脚本文件位置和权限

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

bash 复制代码
chmod +x /root/script.sh

2. 脚本内容解析

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

bash 复制代码
#!/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 用户身份执行脚本:

bash 复制代码
sudo /root/script.sh

4. 注意事项

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

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

相关推荐
冰封之寂3 小时前
Docker 资源管理终极指南:CPU、内存与 IO 的精细化控制
linux·运维·服务器·docker·云计算
xiaoye-duck4 小时前
《Linux系统编程》Linux 系统多线程(五):<线程同步与互斥>线程互斥(上):从条件变量到生产者消费者模型详解
linux·线程
小柯南敲键盘4 小时前
图片翻译API接入与自动化实现指南
运维·python·自动化
一叶龙洲5 小时前
向日葵远程Ubuntu,支持隐私屏
linux·运维·ubuntu
酷可达拉斯6 小时前
Linux操作系统-shell编程之Grep与正则表达式
linux·运维·服务器·正则表达式·centos
寒水馨7 小时前
Linux下载、安装llama.cpp-b10068(附安装包llama-b10068-bin-ubuntu-vulkan-x64.tar.gz)
linux·ubuntu·llm·llama·本地部署·llama.cpp·推理引擎
曦尧7 小时前
Instatic:一体化自托管可视化 CMS,押注「干净静态页」对抗 SaaS 订阅锁定
ai·自动化
我星期八休息9 小时前
网络编程—UDP与TCP
linux·运维·网络·数据库·网络协议·tcp/ip·udp
ziguo112210 小时前
C/C++ 错误处理全解:从 errno 到 C++ 异常
linux·c语言·c++·windows·visual studio
涛声依旧god10 小时前
如何打造一个 AI Agent 自动写作并一键发布技术文章的自动化系统
人工智能·ai·自动化·ai编程