使用 rsync 同步文件夹,rsync 是一个强大的工具,支持增量同步(只传输变化的文件),可以通过 SSH 进行安全传输。

安装 rsync

# Ubuntu/Debian
apt update
apt install -y rsync
# CentOS/RHEL
yum install -y rsync

免密登录(可选)

源服务器上生成 SSH 密钥对,不设置密码,一路回车。

ssh-keygen -t rsa -b 4096

将公钥复制到目标服务器。

ssh-copy-id username@目标服务器IP
  • username为目标服务器用户名,如root

测试免密登录是否成功:

ssh username@目标服务器IP

同步文件夹

源服务器中执行同步命令:

rsync -avz --progress --delete --exclude 'temp/' /path/to/source_folder username@目标服务器IP:/path/to/destination_folder

说明:

  • -a:归档模式,保留权限、所有者等信息。
  • -v:显示详细输出。
  • -z:启用压缩,减少传输数据量。
  • --progress:显示传输进度。
  • --delete:同步删除,如果增量同步则删除,建议去除。
  • --exclude:排除某些文件。
  • /path/to/source_folder:源服务器上的文件夹路径。
  • user@目标服务器IP:/path/to/destination_folder:目标服务器的用户名、IP 和目标路径。

定时同步(可选)

contable -e
0 * * * * rsync -avz --progress --delete --exclude 'temp/' /path/to/source_folder username@目标服务器IP:/path/to/destination_folder