跳转到内容
无痕工具库 无痕工具库

Hostinger Rsync 使用教程:文件和目录同步方法详解

Rsync(Remote Sync,远程同步)是一款命令行工具,用于在两个位置之间同步文件和目录。它非常高效,因为只传输文件中发生变化的部分。本指南将讲解默认的命令逻辑,并提供管理 Hostinger VPS 或托管云主机文件的常见示例。

如需了解其他支持的文件传输和服务器访问方式的概览,请参阅 Hostinger 支持哪些文件传输和服务器访问方式。

前提条件

  • 在源位置和目标位置均已启用 SSH 访问。
  • 一个支持 SSH 的 Hostinger 主机方案(Single 网页主机方案除外,所有方案均支持)。
  • 一个终端或命令行界面。

默认的 Rsync 命令结构

每条 Rsync 命令都遵循标准语法。理解这个“公式”后,你就可以根据自己的需求自定义传输:

rsync [options] -e "ssh -p port" [source] [destination]

  • [options]:定义命令的行为(例如 -avz 表示归档模式、详细输出和压缩)。

  • -e "ssh -p port":指定连接方式和 SSH 端口。正确的端口取决于你的主机类型:

    • 共享主机/云主机:Hostinger 默认使用端口 65002。你可以在 Hostinger 控制面板的 Advanced → SSH Access(高级 → SSH 访问)中确认。
    • 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 才能“看到”并移动它。

  1. 在源位置:创建备份文件:mysqldump -u db_user -p db_name > data.sql
  2. 同步:运行你的 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/
  3. 在目标位置:将数据导入你的新数据库:mysql -u db_user -p db_name < data.sql

遵循默认的 Rsync 结构,你就可以精确控制数据在不同环境之间的移动方式。在执行完整同步之前,请务必在 Hostinger 控制面板中核对你的 SSH 端口,并先执行一次模拟运行(dry run)。

注意事项

  • SSH 端口: Hostinger 共享主机和云主机默认使用端口 65002。VPS 云服务器默认使用端口 22。在运行命令之前,请务必在 Hostinger 控制面板的 Advanced → SSH Access(高级 → SSH 访问)中核对你的端口。
  • 进度显示: 添加 -P 标志可以在大文件传输时查看进度条。
  • Single 方案不可用: Rsync 需要 SSH,而 Single 网页主机方案不支持 SSH。