文章列表
1 分钟阅读

rsync 使用指南:服务器文件同步与备份

Linux 入门 教程 #linux#rsync#备份

系列:Linux 命令基础

第 10 / 16 篇

  1. Tmux 入门教程:让 SSH 断线和多任务终端不再中断
  2. Tree 命令教程:快速查看和导出目录结构
  3. Linux 搜索命令教程:find、grep、locate、rg 应该怎么选
  4. Linux 压缩与解压命令教程:tar、zip、gzip、xz、zstd 一次讲清
  5. Linux 文本处理命令教程:cat、less、head、tail、wc、sort、uniq
  6. Linux 权限命令教程:chmod、chown、umask
  7. Linux 进程查看与管理:ps、top、htop、kill、jobs
  8. Linux 网络排查命令:ss、curl、dig、ping、traceroute
  9. systemctl 与 journalctl 入门:管理服务和查看日志
  10. rsync 使用指南:服务器文件同步与备份
  11. Linux 服务器安全基础:SSH、用户权限、防火墙和 fail2ban
  12. 线上问题排查流程:日志、端口、进程、磁盘、网络怎么一步步看
  13. 深入浅出:Linux 树状目录神器 tree 命令的安装与使用指南
  14. Linux 系统 Vim 编辑器终极指南:从入门到精通
  15. SSH 隧道实战:本地转发、远程转发和动态转发
  16. SSH Config 使用指南:别名、跳板机与多服务器管理

rsync 最适合做增量同步:本地到服务器、服务器到本地、目录备份。它比 scp 更适合重复同步,因为只传变化部分。

基本用法

Terminal window
rsync -av ./dist/ user@server:/srv/app/dist/

注意斜杠:./dist/ 表示同步目录里的内容;./dist 表示同步整个目录。

dry-run

正式同步前先预演:

Terminal window
rsync -av --dry-run ./dist/ user@server:/srv/app/dist/

看到会改哪些文件,再去掉 --dry-run

排除规则

Terminal window
rsync -av --exclude node_modules --exclude .git ./ user@server:/srv/app/

也可以放到文件:

node_modules/
.git/
.env
dist/

运行:

Terminal window
rsync -av --exclude-from .rsyncignore ./ user@server:/srv/app/

备份

从服务器拉回:

Terminal window
rsync -av user@server:/srv/app/uploads/ ./backup/uploads/

如果是数据库,先导出再同步,不要直接复制正在写入的数据文件。

常见问题

权限不对时,先确认远端用户能不能写目标目录。不要直接 sudo rsync 解决所有问题。可以结合 Linux 权限命令教程:chmod、chown、umask

网络不稳定时加:

Terminal window
rsync -av --partial --progress ./big-file user@server:/tmp/

总结

rsync 的好习惯是:先 --dry-run,再正式同步;排除依赖、缓存、密钥;备份时从服务端拉回。它适合文件同步,不替代数据库备份方案。更多参数看 rsync 手册