如何在 Linux 中使用 rsync 工具通过网络管理文件
使用 ava.hosting 在 Linux 上掌握 rsync 文件管理
借助
rsync,跨系统管理文件轻而易举;它是一款强大的 Linux 工具,用于在网络中同步和传输文件。无论你是在 ava.hosting 的高性能 VPS 还是 dedicated servers 上备份数据、镜像目录,还是迁移文件,
rsync都通过仅复制源和目标之间的更改来确保高效。例如,你可以使用
rsync将托管在 ava.hosting 上的网站文件备份到远程服务器,从而最大限度地减少带宽和时间。本指南涵盖
rsync的安装、使用和自动化,以实现无缝文件管理,并针对 ava.hosting 可靠的基础设施进行了优化。
安装 rsync
大多数 Linux 发行版都预装了 rsync。要检查它是否已安装,请运行:
rsync --version
如果未安装,你可以使用发行版的包管理器进行安装:
- Debian/Ubuntu:
sudo apt install rsync - RHEL/CentOS:
sudo yum install rsync - Fedora:
sudo dnf install rsync - Arch Linux:
sudo pacman -S rsync
📌 如何通过 PuTTY SSH 使用 rsync 将文件从 Windows 传输到远程服务器?
要在 Windows 上通过 PuTTY SSH 使用 rsync,你需要已安装:
PuTTY 用于 SSH 连接
Windows 上的 rsync 和 OpenSSH
Pagent(可选)用于使用 SSH 密钥自动认证
使用 MSYS2 在 Windows 上安装 rsync
如果你已经下载了 MSYS2,你可以使用 pacman(MSYS2 的包管理器)轻松安装 rsync。
- 更新 MSYS2 和现有包
在 MSYS2 终端中,运行:
pacman -Syu- 如果 MSYS2 在更新后自动关闭,请重新打开并运行:
pacman -Su✅ 此步骤可确保你拥有包管理器的最新版本。
- 安装 rsync
现在使用以下命令安装 rsync:
pacman -S rsync
💡 如果你还需要用于 SSH 传输的 openssh,也请安装它:
pacman -S openssh
验证安装
要验证 rsync 是否已正确安装,请运行:
rsync --version
rsync 基本语法
rsync 的基本语法是:
rsync [options] source destination
常用选项
- -a : 归档模式(保留符号链接、权限、时间戳等)
- -v : 详细输出
- -z : 在传输过程中压缩文件数据
- -P : 在传输过程中显示进度
- -r : 递归复制目录
- -e : 指定远程 shell(如 SSH)
使用 rsync 进行本地文件同步
要在两个本地目录之间同步文件:
rsync -av /source/directory/ /destination/directory/
源路径末尾的斜杠 / 可确保只复制目录内容,而不是目录本身。
通过网络使用 rsync
将文件传输到远程服务器
要将文件从本地系统传输到远程服务器:
rsync -avz /local/directory/ user@remote_host:/remote/directory/*在 MSYS2 中添加命令后,我们将添加 SSH 数据以连接到远程服务器,结果将显示:
此命令使用 SSH 安全地将文件复制到远程服务器。
检查该命令是否已在你的远程服务器上成功执行:
将文件从远程服务器传输到本地机器
要将文件从远程服务器复制到你的本地机器。默认情况下,rsync 使用 SSH 进行安全通信。你可以显式指定 SSH:
rsync -avz -e ssh /local/directory/ user@remote_host:/remote/directory/
如果 SSH 使用非默认端口(例如 2222),请这样指定:
rsync -avz -e "ssh -p 2222" /local/directory/ user@remote_host:/remote/directory/
同步并删除多余文件
要删除目标中源中不存在的多余文件:
第一步,我们在 PuttySSH 终端中添加额外文件:
cd /home/user/test_backup/touch file1.txt file2.log file3.jpgmkdir extra_filestouch extra_files/old_file.txt现在同步不包含某些文件的目录,rsync 将删除源中不再存在的文件:
rsync -av --delete /source/directory/ /destination/directory/
📌 它的作用是什么?
服务器上所有存在但不在 test/local 中的文件都将被删除。
MSYS2 结果

PuttySSH 结果

警告: 请谨慎使用 –delete,因为它会永久删除目标中的文件。
排除文件和目录
要排除特定文件或目录:
rsync -av --exclude 'file_or_directory' /source/ user@remote_host:/destination/MSYS2 结果

PuttySSH 结果

对于多个排除项,请使用:
rsync -av --exclude={'file1','dir1','*.log'} /source/ user@remote_host:/destination/
将 rsync 作为后台进程运行
你可以使用 nohup 在后台运行 rsync:
nohup rsync -avz /source/ user@remote_host:/destination/
这使得进程即使在注销后也能继续运行。
在本地目录中,我们添加了一个新文件 new_file.txt33333333,然后断开了 PuttySSH 终端连接,上述命令使我们即使在服务器断开连接时也能发送文件。

使用 Cron Jobs 自动化文件传输
要使用 cron 安排自动同步,请打开 crontab:
crontab -e
添加一个任务,使 rsync 每天午夜运行一次:
0 0 * * * rsync -avz /source/ user@remote_host:/destination/
结论
rsync是 Linux 文件管理中不可或缺的工具,提供高效的网络同步和传输能力。无论你是在备份 WordPress 网站、镜像日志,还是在 ava.hosting 可靠的 VPS 上迁移数据,
rsync都能节省时间和带宽。例如,你可以使用
rsync将 ava.hosting 服务器的
/var/www目录安全地备份到远程位置,确保数据安全。借助 ava.hosting 的高性能基础设施和
rsync的多样化选项,你可以简化工作流程、自动化备份,并充满信心地管理文件。



