📅  最后修改于: 2023-12-03 14:49:46.305000             🧑  作者: Mango
rsync 是一个强大的文件同步工具,可用于本地文件之间的同步,也可以处理远程设备之间的文件同步。它可以在不同的计算机之间快速、安全地传输和同步文件,并只复制发生变化的部分。
在大多数 Linux 发行版中,rsync 默认已经安装。如果没有安装,可以使用以下命令进行安装:
sudo apt-get install rsync # Ubuntu 或者 Debian
sudo yum install rsync # CentOS 或者 Fedora
要从一个目录复制文件到另一个目录,可以使用以下命令:
rsync -av source_dir/ destination_dir/
-a
表示传输文件时保持文件的属性(如权限、所有者等)-v
表示输出详细的日志信息这将递归地复制 source_dir
目录中的所有文件和子目录到 destination_dir
目录。
要通过 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/
这将确保目标目录中不存在源目录中已经删除的文件。
要排除特定的文件或目录,可以使用 --exclude
选项:
rsync -av --exclude "file.txt" source_dir/ destination_dir/
这将排除源目录中名为 file.txt
的文件,而不进行复制。
rsync 的一个强大功能是可以进行增量备份。每次运行 rsync 时,它只会复制源目录中发生变化的文件。
rsync -av --backup destination_dir/ backup_dir/
这将将目标目录 destination_dir
中的文件复制到备份目录 backup_dir
中,并通过在文件名后面添加 .~1~
、.~2~
等后缀来创建备份文件。这样可以保留历史备份,以便在需要时恢复之前的版本。
rsync 提供了许多其他选项和功能,你可以通过 man rsync
命令查看 rsync 的完整文档。
希望这篇介绍能帮助你开始使用 rsync 进行文件管理和处理远程设备!