如何使用 rsync 或 scp 将文件复制到 Linux VPS

scprsync 通过 SSH 复制文件。当 SFTP 不方便时,可以使用它们来传输配置文件、脚本、备份、世界文件和服务器文件夹。

scp 适用于快速的一次性复制。rsync 更适合重复同步,因为它可以仅复制更改的文件、保留权限、排除文件夹、预览更改,并在您要求时镜像删除。

 

使用 scp 复制单个文件

scp ./server.cfg username@VPS_IP_ADDRESS:/home/username/server.cfg

 

使用 scp 复制文件夹

scp -r ./world username@VPS_IP_ADDRESS:/home/username/world

 

使用自定义 SSH 端口与 scp

scp 使用大写的 -P 指定 SSH 端口:

scp -P 2222 ./server.cfg username@VPS_IP_ADDRESS:/home/username/server.cfg

 

使用 SSH 密钥与 scp

scp -i ~/.ssh/mykey ./server.cfg username@VPS_IP_ADDRESS:/home/username/server.cfg

 

使用 rsync 同步文件夹

rsync -avz ./world/ username@VPS_IP_ADDRESS:/home/username/world/

尾部的斜杠很重要。./world/ 将文件夹的内容复制到目标文件夹中。没有尾部斜杠,rsync 会将文件夹本身复制到目标中。

 

在复制前预览 rsync

当您想在更改远程文件之前检查会发生什么时,使用 --dry-run

rsync -avz --dry-run ./world/ username@VPS_IP_ADDRESS:/home/username/world/

Linux 终端显示在将文件复制到 VPS 之前的 rsync 预览

 

精确镜像文件夹

--delete 删除远程文件中不再存在的本地文件。这对于精确镜像很有用,但如果指向错误的文件夹则很危险。

rsync -avz --delete ./world/ username@VPS_IP_ADDRESS:/home/username/world/

如果您使用 --delete,请先运行带 --dry-run 的相同命令。

 

排除文件或文件夹

排除日志、缓存文件夹、临时文件或您不想复制的生成文件:

rsync -avz --exclude "logs/" --exclude "*.tmp" ./server/ username@VPS_IP_ADDRESS:/home/username/server/

 

使用自定义 SSH 端口与 rsync

rsync 通过 -e 传递 SSH 选项:

rsync -avz -e "ssh -p 2222" ./server/ username@VPS_IP_ADDRESS:/home/username/server/

 

使用 SSH 密钥与 rsync

rsync -avz -e "ssh -i ~/.ssh/mykey" ./server/ username@VPS_IP_ADDRESS:/home/username/server/

 

从 VPS 复制回您的 PC

下载 VPS 上的文件夹时,反转源和目标:

rsync -avz username@VPS_IP_ADDRESS:/home/username/world/ ./world-backup/

 

有用的 rsync 选项

选项功能
-a归档模式。保留文件夹、权限、时间戳和符号链接。
-v详细输出,以便您可以看到正在复制的内容。
-z在传输过程中压缩数据。适用于较慢的连接。
--progress显示大文件的复制进度。
--dry-run显示会发生什么而不更改文件。
--delete删除源中不存在的远程文件。
--exclude跳过匹配的文件或文件夹。

 

何时使用每个工具

工具最佳用途
scp简单的一次性文件或文件夹复制。
rsync重复同步、大型文件夹、备份、排除、预览和仅复制更改的文件。

在替换实时世界文件、数据库文件或保存文件之前,请停止游戏服务器。如果您使用 --delete 或覆盖现有世界,请先进行备份。

  • 0 用戶發現這個有用
這篇文章有幫助嗎?

相關文章

如何使用SSH连接到Linux VPS

SSH是管理Linux VPS的常用方式。它为您提供服务器上的终端,以便您可以安装软件、编辑文件、检查日志、重启服务和运行游戏服务器命令。...

如何在 Linux VPS 上更新软件包

保持软件包更新有助于修补安全问题,并保持服务器工具的兼容性。如果 VPS 托管游戏服务器、数据库、面板、机器人或实时网站,请在维护窗口期间运行更新。 首先通过 SSH 连接:如何通过 SSH...

如何在Linux VPS上创建sudo用户

sudo用户允许您在不以root身份登录的情况下管理Linux VPS。这对于日常管理更安全,并且更容易为其他管理员提供受控访问。...

如何在Linux VPS上保护SSH

SSH是管理Linux VPS的主要方式,因此在服务器用于公共服务之前应进行安全设置。首先添加SSH密钥和sudo用户,然后尽可能减少基于密码的访问。...

如何检查Linux VPS上的磁盘使用情况

磁盘使用问题可能会导致更新、备份、日志、数据库和游戏存档无法正确写入。检查总磁盘使用情况以及哪些文件夹占用了最多空间。 使用SSH连接到VPS。 显示已挂载磁盘的使用情况:df -h...