LOADING...

加载中请稍等...

loading

Linux每日一篇 - 60 - rsync

Linux文件同步神器!掌握rsync命令,高效同步文件,支持增量备份!

rsync命令是什么?

rsync是”Remote Sync”的缩写,是一个快速、高效的文件同步和备份工具,支持本地和远程同步,具有增量更新、压缩传输、权限保持等强大功能。

基本用法

# 本地同步
rsync -av source/ destination/

# 远程同步(推送)
rsync -av source/ user@remote:/path/to/destination/

# 远程同步(拉取)
rsync -av user@remote:/path/to/source/ destination/

# 基本同步选项
rsync -r source/ destination/  # 递归复制目录
rsync -a source/ destination/  # 归档模式(保持属性)
rsync -v source/ destination/  # 显示详细信息
rsync -z source/ destination/  # 启用压缩

实用技巧

# 保持所有属性(归档模式)
rsync -av source/ destination/

# 删除目标中多余的文件
rsync -av --delete source/ destination/

# 排除特定文件或目录
rsync -av --exclude='*.tmp' source/ destination/
rsync -av --exclude={'*.log','temp/'} source/ destination/

# 使用文件列表排除
rsync -av --exclude-from='exclude-list.txt' source/ destination/

# 显示传输进度
rsync -av --progress source/ destination/

# 限制传输速度
rsync -av --bwlimit=1000 source/ destination/

# 只同步文件大小不同的文件
rsync -av --size-only source/ destination/

常用场景

# 创建备份
rsync -av --delete /home/user/ /backup/user/

# 同步网站文件
rsync -avz --progress /var/www/html/ user@server:/var/www/html/

# 推送配置文件
rsync -avz ~/.ssh/ user@remote:~/.ssh/

# 恢复备份
rsync -av --delete /backup/user/ /home/user/

# 同步大文件(显示进度)
rsync -avz --progress --human-readable /large/directory/ /backup/

# 镜像整个目录结构
rsync -avz --links --hard-links --delete /source/ /destination/

# 安全备份(远程)
rsync -avz -e ssh /local/path/ user@remote:/remote/path/
头像
汪多多是只猫
失业的运维工程师
热爱开源与分享
微信公众号