linux怎么配置两台服务器文件夹自动同步
·
赠君同步之法
《服务器同步诀》
两台 Linux 欲同流,诸般方法解君愁。
Rsync 定时展身手,Inotify 实时亦优游。
在 Linux 系统里,若要实现两台服务器文件夹自动同步,有多种实用方法,下面为你详细道来:
方法一:使用 rsync 结合 cron 定时同步
rsync 是一款强大的文件同步工具,能高效地在不同服务器间同步文件,而 cron 可用于设置定时任务。
步骤
- 安装 rsync
在两台服务器上都安装rsync,以 Ubuntu 系统为例,使用如下命令:
sudo apt-get update
sudo apt-get install rsync
若为 CentOS 系统,命令如下:
sudo yum install rsync
- 配置 SSH 免密登录
为避免每次同步都输入密码,需配置 SSH 免密登录。在源服务器上生成 SSH 密钥:
ssh-keygen -t rsa
接着将公钥复制到目标服务器:
ssh-copy-id username@destination_server_ip
这里的 username 是目标服务器的用户名,destination_server_ip 是目标服务器的 IP 地址。
3. 编写 rsync 同步脚本
在源服务器上创建一个同步脚本,比如 sync_script.sh:
#!/bin/bash
rsync -avz /source_folder/ username@destination_server_ip:/destination_folder/
其中 /source_folder/ 是源服务器要同步的文件夹,/destination_folder/ 是目标服务器接收同步文件的文件夹。
赋予脚本执行权限:
chmod +x sync_script.sh
- 设置 cron 定时任务
使用crontab -e命令编辑当前用户的定时任务表,添加如下内容以实现每小时同步一次:
0 * * * * /path/to/sync_script.sh
这里的 /path/to/sync_script.sh 是脚本的实际路径。
方法二:使用 inotify 实现实时同步
inotify 能监控文件系统的变化,结合 rsync 可实现实时同步。
步骤
- 安装 inotify-tools
在源服务器上安装inotify-tools,以 Ubuntu 系统为例:
sudo apt-get install inotify-tools
若为 CentOS 系统:
sudo yum install inotify-tools
- 编写实时同步脚本
创建一个脚本,例如real_time_sync.sh:
#!/bin/bash
while true; do
inotifywait -r -e modify,create,delete /source_folder/
rsync -avz /source_folder/ username@destination_server_ip:/destination_folder/
done
同样赋予脚本执行权限:
chmod +x real_time_sync.sh
- 启动脚本
在源服务器上运行脚本:
./real_time_sync.sh &
使用 & 可让脚本在后台运行。
如此这般,君便可依自身需求,择一方法达成两台 Linux 服务器文件夹的自动同步。若有他事相询,尽管道来。
更多推荐


所有评论(0)