📜  使用 rsync 进行文件管理,尤其是处理远程设备 (1)

📅  最后修改于: 2023-12-03 14:49:46.305000             🧑  作者: Mango

使用 rsync 进行文件管理,尤其是处理远程设备
简介

rsync 是一个强大的文件同步工具,可用于本地文件之间的同步,也可以处理远程设备之间的文件同步。它可以在不同的计算机之间快速、安全地传输和同步文件,并只复制发生变化的部分。

安装 rsync

在大多数 Linux 发行版中,rsync 默认已经安装。如果没有安装,可以使用以下命令进行安装:

sudo apt-get install rsync  # Ubuntu 或者 Debian
sudo yum install rsync  # CentOS 或者 Fedora
使用 rsync 复制文件

要从一个目录复制文件到另一个目录,可以使用以下命令:

rsync -av source_dir/ destination_dir/
  • -a 表示传输文件时保持文件的属性(如权限、所有者等)
  • -v 表示输出详细的日志信息

这将递归地复制 source_dir 目录中的所有文件和子目录到 destination_dir 目录。

使用 rsync 远程同步文件

要通过 SSH 连接并同步远程设备上的文件,可以使用以下命令:

rsync -avz -e ssh remote_user@remote_host:/remote_dir/ local_dir/
  • -z 表示传输文件时进行压缩,减少传输的数据量
  • -e ssh 表示使用 SSH 作为远程 shell

这将从远程主机 remote_host/remote_dir/ 目录同步文件到本地 local_dir 目录。

同步文件并删除多余文件

如果要同步目录并删除目标目录中不存在于源目录中的文件,可以使用 --delete 选项:

rsync -av --delete source_dir/ destination_dir/

这将确保目标目录中不存在源目录中已经删除的文件。

使用 rsync 排除特定文件或目录

要排除特定的文件或目录,可以使用 --exclude 选项:

rsync -av --exclude "file.txt" source_dir/ destination_dir/

这将排除源目录中名为 file.txt 的文件,而不进行复制。

使用 rsync 进行增量备份

rsync 的一个强大功能是可以进行增量备份。每次运行 rsync 时,它只会复制源目录中发生变化的文件。

rsync -av --backup destination_dir/ backup_dir/

这将将目标目录 destination_dir 中的文件复制到备份目录 backup_dir 中,并通过在文件名后面添加 .~1~.~2~ 等后缀来创建备份文件。这样可以保留历史备份,以便在需要时恢复之前的版本。

更多选项和功能

rsync 提供了许多其他选项和功能,你可以通过 man rsync 命令查看 rsync 的完整文档。

希望这篇介绍能帮助你开始使用 rsync 进行文件管理和处理远程设备!