了解如何使用 Rsync 工具同步本地与远程目录、创建镜像并管理 Hostinger 服务的数据传输。
Rsync(Remote Sync)是一个用于在两地之间同步文件和目录的命令行工具。它非常高效,因为只传输文件中发生变化的部分。本指南说明默认命令逻辑,并提供用于管理你的 Hostinger VPS 或托管主机文件的常见示例。
前置条件
- 源端与目的端均已启用 SSH 访问。
- 支持 SSH 的 Hostinger 主机套餐(除 Single 虚拟主机套餐外,所有套餐均支持)。
- 终端或命令行界面。
Rsync 默认命令结构
每条 Rsync 命令都遵循标准语法。理解这个“公式”后,你可以根据需要自定义传输:
rsync [options] -e "ssh -p port" [source] [destination]
[options]:定义行为(例如-avz表示归档、详细输出和压缩)。-e "ssh -p port":指定连接方式与 SSH 端口。正确端口取决于你的主机类型:- 虚拟主机/云主机:Hostinger 默认使用端口 65002。你可以在 hPanel 的 高级 → SSH 访问(Advanced → SSH Access) 中确认。
- VPS 主机:默认端口为 22,除非你已更改。
本指南所有示例均使用 -p 65002。如果你使用默认端口的 VPS,请将其替换为 -p 22。
[source]:你要移动的文件所在位置。[destination]:你的服务器凭据以及文件要放置的路径。
提示: 始终通过在选项中添加 -n 或 --dry-run 来测试命令。这会模拟传输而不做任何实际更改。
理解“尾部斜杠”(/)
源路径末尾是否有斜杠会改变文件在目的端的放置方式。
选项 A:带斜杠( source/ )
这表示 Rsync 只复制文件夹的内容。当你想将文件直接移入服务器上已有的目录时使用。
- 默认格式:
rsync [options] /local-folder/ user@ip:/remote-folder/ - 示例:
rsync -avz ~/Desktop/my-files/ user@ip:/public_html/ - 结果:
my-files内的文件将直接出现在public_html中。
选项 B:不带斜杠( source )
这表示 Rsync 复制整个文件夹本身。当你想在目的端重建文件夹结构时使用。
- 默认格式:
rsync [options] /local-folder user@ip:/remote-folder/ - 示例:
rsync -avz ~/Desktop/my-files user@ip:/public_html/ - 结果: 你将在
public_html目录中看到一个新建的名为my-files的文件夹(/public_html/my-files/)。
常见同步场景
理解默认结构后,你可以将其应用于以下常见的 Hostinger 工作流。
1. 上传文件到 Hostinger(推送 / Push)
要将文件夹从本地计算机移动到服务器,请将本地路径作为源。
默认格式: rsync [options] -e "ssh -p port" /local/path/ username@ip_address:/remote/path/
示例: rsync -avz -e "ssh -p 65002" ~/Desktop/website/ u123456789@1.2.3.4:/home/u123456789/domains/domain.com/public_html/
2. 从 Hostinger 下载文件(拉取 / Pull)
要将文件从服务器下载到你的计算机,请将源和目的互换。
默认格式: rsync [options] -e "ssh -p port" username@ip_address:/remote/path/ /local/path/
示例: rsync -avz -e "ssh -p 65002" u123456789@1.2.3.4:/home/u123456789/domains/domain.com/public_html/backup/ ~/Downloads/
3. 创建精确镜像
要确保目的端与源端完全一致(删除目的端中源端已不存在的文件),请添加 --delete 参数。
默认格式: rsync [options] --delete -e "ssh -p port" [source] [destination]
示例: rsync -avz --delete -e "ssh -p 65002" ~/Desktop/website/ u123456789@1.2.3.4:/home/u123456789/domains/domain.com/public_html/
可选:同步数据库
如果你要同步带数据库的网站,仅同步文件是不够的。你必须将数据库导出为文件,Rsync 才能“看到”并移动它。
- 在源端: 创建备份文件:
mysqldump -u db_user -p db_name > data.sql - 同步: 运行你的 Rsync 命令。如果
data.sql文件位于你的网站文件夹内,它会被自动移动。示例:rsync -avz -e "ssh -p 22" ~/Desktop/website/data.sql u123456789@1.2.3.4:/home/u123456789/domains/domain.com/public_html/ - 在目的端: 将数据导入新数据库:
mysql -u db_user -p db_name < data.sql
遵循 Rsync 默认结构,你可以精确控制数据在不同环境之间的移动方式。请始终在 hPanel 中核实你的 SSH 端口,并在执行完整同步前先进行试运行。
注意
- SSH 端口: Hostinger 虚拟主机和云主机默认使用端口 65002。VPS 主机默认使用端口 22。运行命令前,请务必在 hPanel 的 高级 → SSH 访问(Advanced → SSH Access) 中核实你的端口。
- 进度: 添加
-P参数可查看大文件传输的进度条。 - Single 套餐不可用: Rsync 需要 SSH,而 Single 虚拟主机套餐不提供 SSH。
来源:Hostinger 官方帮助文档