rysnc使用手册

rsync 是一个用于在本地和远程计算机之间同步文件和目录的命令行工具。它具有许多强大的功能,包括增量传输、压缩和保留权限等。以下是一些 rsync 的常用选项和用法示例:

基本用法

rsync [OPTION]... SRC [SRC]... DEST

常用选项

  • -a--archive:归档模式,表示递归复制,并保持所有文件属性,相当于 -rlptgoD
  • -v--verbose:显示详细信息
  • -z--compress:在传输过程中压缩文件数据
  • -P:显示传输进度并保持部分传输的文件,相当于 --partial --progress
  • -r--recursive:递归处理子目录
  • -l--links:复制符号链接
  • -h--human-readable:以人类可读的格式输出文件大小
  • -e:指定远程 shell 程序,例如 ssh

本地到本地同步

/source/directory/ 目录中的内容同步到 /destination/directory/ 目录:

rsync -av /source/directory/ /destination/directory/

本地到远程同步

将本地目录 /source/directory/ 中的内容同步到远程主机 remotehost/destination/directory/

rsync -avz /source/directory/ user@remotehost:/destination/directory/

远程到本地同步

将远程主机 remotehost/source/directory/ 中的内容同步到本地目录 /destination/directory/

rsync -avz user@remotehost:/source/directory/ /destination/directory/

仅同步修改过的文件

使用 --update 选项仅同步修改过的文件:

rsync -avu /source/directory/ /destination/directory/

删除目标目录中源目录中没有的文件

使用 --delete 选项删除目标目录中源目录中没有的文件:

rsync -av --delete /source/directory/ /destination/directory/

排除某些文件或目录

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

rsync -av --exclude 'node_modules' /source/directory/ /destination/directory/

示例命令

  1. 从本地目录同步到远程服务器:

    rsync -avz -e ssh /path/to/local/dir/ user@remotehost:/path/to/remote/dir/
    
  2. 从远程服务器同步到本地目录:

    rsync -avz -e ssh user@remotehost:/path/to/remote/dir/ /path/to/local/dir/
    
  3. 仅同步修改过的文件并显示传输进度:

    rsync -avzu --progress /source/directory/ /destination/directory/
    

使用 -e 选项的示例

-e 选项用于指定用于远程传输的远程 shell 程序(例如 ssh)。默认情况下,rsync 会使用 ssh 进行远程连接,但你可以通过 -e 选项指定其他的远程 shell 或自定义 ssh 参数。

  1. 指定使用 ssh 进行远程传输

    rsync -avz -e ssh /path/to/local/dir/ user@remotehost:/path/to/remote/dir/
    
  2. 指定自定义的 ssh 参数

    如果你想使用特定的 ssh 参数,比如更改端口号,可以这样做:

    rsync -avz -e 'ssh -p 2222' /path/to/local/dir/ user@remotehost:/path/to/remote/dir/
    

    这里,-p 2222 指定使用 ssh 的 2222 端口。

  3. 使用不同的远程 shell 程序

    虽然通常情况下会使用 ssh,但你也可以指定其他远程 shell 程序,例如 rsh

    rsync -avz -e rsh /path/to/local/dir/ user@remotehost:/path/to/remote/dir/
    

具体示例

  1. 使用默认的 ssh 进行远程同步

    rsync -avz -e ssh /home/user/Documents/ user@remotehost:/backup/Documents/
    
  2. 使用 ssh 并指定端口号

    rsync -avz -e 'ssh -p 2222' /home/user/Documents/ user@remotehost:/backup/Documents/
    
  3. 使用 ssh 并指定使用特定的身份验证密钥文件

    rsync -avz -e 'ssh -i /path/to/private_key' /home/user/Documents/ user@remotehost:/backup/Documents/
    
  4. 使用 rsh 进行远程同步

    rsync -avz -e rsh /home/user/Documents/ user@remotehost:/backup/Documents/
    
posted @   waveblog  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
点击右上角即可分享
微信分享提示