rsync通过增量同步高效复制文件,支持本地及远程同步,常用选项包括-a、-v、-z和–delete,结合SSH可安全传输数据,配合cron可实现定时备份。

rsync 是 Linux 系统中一个非常强大且常用的文件同步工具,能够高效地在本地或远程系统之间复制和同步文件与目录。它以“增量同步”为核心机制,只传输发生变化的部分,大幅节省带宽和时间。
基本语法与常用选项
rsync 的基本命令格式如下:
rsync [选项] 源路径 目标路径
常见实用选项包括:
-a:归档模式,保留符号链接、权限、时间戳等属性,常用于备份 -v:显示详细过程信息(verbose) -r:递归处理子目录 -t:保留修改时间 -z:启用压缩传输数据 -h:输出更易读的大小单位(如 KB、MB) –delete:删除目标中源不存在的文件,保持完全同步 –exclude=文件名:排除指定文件或目录不进行同步
本地文件同步示例
将本地目录 /data/docs 同步到 /backup/docs:
rsync -av /data/docs/ /backup/docs/
注意结尾斜杠的区别:
/data/docs/ 表示同步目录中的内容 /data/docs 表示同步整个 docs 目录本身
远程同步(通过SSH)
rsync 可通过 SSH 安全地与远程主机同步。例如将本地文件推送到远程服务器:
rsync -avz /home/user/data/ user@192.168.1.100:/home/user/backup/
Shell脚本编写基础 中文WORD版
Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Linux系统
24 查看详情
从远程拉取文件到本地:
rsync -avz user@192.168.1.100:/home/user/logs/ /local/logs/
若使用非默认 SSH 端口,可通过 -e 指定:
rsync -avz -e “ssh -p 2222” /data/ user@host:/backup/
增量备份与同步机制
rsync 使用“快速检查”算法,默认根据文件大小和修改时间判断是否变化。只有发生变化的文件才会被传输,且内部采用“delta-transfer”算法,仅发送差异块,极大提升效率。
对于大文件的小幅修改,这种机制尤其高效,适合定期备份场景。
实用技巧与注意事项
避免常见错误并提升使用体验:
同步重要数据前先用 -n(模拟运行)测试命令效果 使用 –progress 查看大文件传输进度 配合 cron 实现定时自动同步,例如每天凌晨执行备份任务 排除临时文件:–exclude=’*.tmp’ –exclude=’cache/’ 确保目标路径存在,否则同步可能失败
基本上就这些。掌握 rsync 的核心选项和使用场景,能让你在日常运维、数据备份和迁移中事半功倍。关键是理解路径写法、同步方向和排除规则,其余根据需求灵活组合即可。
以上就是Linux文件系统rsync命令详解的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1175473.html
微信扫一扫
支付宝扫一扫