HCRM博客

CentOS Rsync同步排除规则实战指南,一步到位避免常见错误

本地文件同步到CentOS:rsync排除规则示例,一次写对再也不踩坑

本地文件同步到CentOS:rsync排除规则示例

CentOS Rsync同步排除规则实战指南,一步到位避免常见错误-图1

把Windows或macOS里的代码、照片、日志往CentOS服务器上扔,最顺手的工具还是rsync。可一旦目录里混着缓存、临时文件、私人电影,同步过去既占空间又拖速度。学会写排除规则,比多买一块硬盘更划算。

为什么排除规则比--delete更温柔

很多人第一次用rsync直接加--delete,结果把服务器上的历史备份也清空了。排除规则只挡新增,不删旧爱,先保命再提速。

一条命令看懂rsync骨架

rsync -avz --exclude-from=exclude.txt /本地路径/ user@centos:/目标路径/

把exclude.txt写对,后面一切省心。

CentOS Rsync同步排除规则实战指南,一步到位避免常见错误-图2

exclude.txt长什么样

每行一条模式,不带斜杠也生效,相对路径即可:

*.log

node_modules/

.DS_Store

Thumbs.db

CentOS Rsync同步排除规则实战指南,一步到位避免常见错误-图3

~$*

最后一行匹配Office临时文件,Windows党秒懂。

五组真实场景模板,直接抄

1. 前端项目

src/dist/

*.map

.env.local

2. 摄影原片

*.psd

/Lightroom/LR Cache/

3. 日志仓库

logs/*.gz

logs/20*/

4. 混合开发

*.pyc

pycache/

.vscode/

5. 家庭备份

*.mkv

/私人/

易错点:斜杠到底加不加

目录后面加/表示“只排除目录内的东西”,保留空目录本身;不加/连目录一起屏蔽。想留壳就加/,想斩草除根就不加。

通配符别乱用

.log会挡掉a.log、dir/b.log;/.log才能递归挡掉所有子目录日志。别写/.log,多一个星就翻车。

在CentOS端验证

先跑--dry-run:

rsync -avzn --exclude-from=exclude.txt /本地路径/ user@centos:/目标路径/ | grep -v '/$'

看到没传的就是被排除的,确认无误再去掉n真干。

一条命令排除多个文件

懒得建文件?直接行内写:

rsync -avz --exclude='*.log' --exclude='.git/' /本地路径/ user@centos:/目标路径/

超过三条就建文件,省眼又省手。

把排除反过来用--include

只想传jpg,其他全挡:

rsync -avz --include='/' --include='.jpg' --exclude='*' /本地路径/ user@centos:/目标路径/

顺序别反,include在前,exclude在后,rsync按顺序匹配。

定期任务怎么写

crontab -e里加:

0 2 * rsync -avz --exclude-from=/home/user/exclude.txt /本地路径/ user@centos:/目标路径/ >>/var/log/rsync.log 2>&1

日志单独存,出错能回查。

常见翻车现场

1. 把exclude.txt存成Windows换行,CentOS不认,dos2unix救场。

路径写绝对,结果规则失效,保持相对。

忘了给ssh配密钥,每天手动输密码,ssh-copy-id一键搞定。

排除规则写得好,rsync比收费网盘还快;写得烂,同步一次后悔三天。先dry-run再真干,备份永不嫌多。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/42019.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~