Linux rsync文件同步工具使用命令:ssh非默认端口远程同步、排除特定文件或目录、删除目标目录中源不存在的文件

本文详细介绍了如何在Linux系统中使用rsync进行本地和远程文件同步,包括归档模式、增量更新、压缩选项、SSH连接、排除规则和删除操作,以及权限和SSH配置的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Linux系统中,rsync是一个功能强大的文件同步工具,它可以实现本地或通过网络在不同位置间高效同步文件和目录。下面是一些基本的rsync使用示例:

本地文件/目录同步

  1. 复制本地目录(包括子目录及其内容):

    rsync -a /source/directory/ /destination/directory/
    

    -a 参数代表归档模式,相当于 -rlptgoD,保留原文件的所有属性。

  2. 更新目标目录,只同步已更改的文件

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

    -u-update 参数也可以用来仅更新有变化的文件,但 -a 已包含了此功能。

  3. 启用压缩以减少网络带宽使用(如果是在网络同步时)

    rsync -avz /source/directory/ /destination/directory/
    

    -z 参数启用压缩。

通过SSH远程同步

  1. 将本地目录同步到远程主机

    rsync -avz /local/path user@remote.host:/remote/path/
    

    -e ssh 参数可以明确指定通过SSH连接,这里由于没有显式指定 -e 参数,默认情况下rsync会尝试使用ssh连接。

  2. 从远程主机拉取数据到本地

    rsync -avz user@remote.host:/remote/path/ /local/path/
    
  3. 使用非默认SSH端口

    rsync -avz -e "ssh -p 2222" /local/path user@remote.host:/remote/path/
    
  4. 使用密码文件进行无交互登录(需要提前在远程主机设置好免密登录或通过--password-file指定密码文件):

    rsync -avz --password-file=/path/to/password.txt /local/path user@remote.host:/remote/path/
    

排除特定文件或目录

  1. 排除特定文件或目录不被同步
    rsync -avz --exclude='*.log' --exclude='/path/to/exclude/' /source/ /destination/
    

删除目标目录中源不存在的文件

  1. 同步的同时删除目标目录中源不再存在的文件
    rsync -avz --delete /source/directory/ /destination/directory/
    

请注意,在实际应用中,请替换上述示例中的 /source//destination/user@remote.host 及其他参数为您自己的实际路径和设置。同时,确保具有对源和目标位置的适当读写权限,并且在远程同步时正确配置了SSH访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学亮编程手记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值