2026/6/5 19:51:18
网站建设
项目流程
静安广州网站建设,网站字体怎么修改,有没有专门做售楼部包装的网站,seo外包是什么一、简介#xff1a;为什么备份必须“增量异地” 数据即资产#xff1a;代码、数据库、图片、日志#xff0c;丢一次就可能“社会性死亡”。 全量拷贝太慢#xff1a;1 T 数据天天全量#xff0c;硬盘和网络都扛不住。 rsync 优势#xff1a; 增量算法#xff1a;只传…一、简介为什么备份必须“增量异地”数据即资产代码、数据库、图片、日志丢一次就可能“社会性死亡”。全量拷贝太慢1 T 数据天天全量硬盘和网络都扛不住。rsync 优势增量算法只传“变化块”节省 90% 流量压缩/断点续传弱网也稳支持本地、远程 shell、守护进程 3 种模式开源、无许可证费用Linux/Win/Mac 全平台。掌握 rsync等于给数据上了“医保 高铁”又快又省钱还能异地容灾。二、核心概念速通新手 5 min 看懂术语/参数一句话说明类比增量备份 (incremental)只拷贝“新增/修改”部分只带今天写完的作业去交镜像同步 (mirror)目标与源完全一致多删少补微信聊天记录漫游--delete目标端存在、源端不存在的文件一律删除保持“一模一样”--exclude排除指定文件/目录支持通配打包行李不带拖鞋--link-dest硬链接参考目录实现“快照”功能同一文件多快照只占 1 份物理空间rsync algo滚动校验和只传差异块发 diff 补丁而非整个安装包daemon 模式服务端常驻 873 端口支持匿名/账号认证FTP 的替代品更快三、环境准备 10 min 搭好实验台3.1 实验拓扑------------- 22/873 ------------- | 本地节点 A | ------- | 异地节点 B | | 192.168.1.10 | | 10.0.0.20 | ------------- -------------3.2 系统与软件OSCentOS 7/8、RockyLinux 9、Ubuntu 20.04 均可。rsync系统自带 v3.1.3建议 ≥3.2 支持xxh128校验。SSH默认安装用于加密远程 shell 模式。crontab/systemd-timer做定时任务。硬盘/backup 分区 ≥ 源数据 1.2 倍留快照余量。3.3 免密 SSH必做否则定时任务卡住# 在 A 节点生成密钥 ssh-keygen -t ed25519 -P -f ~/.ssh/id_ed25519 # 拷贝公钥到 B 节点 ssh-copy-id -i ~/.ssh/id_ed25519.pub root10.0.0.20 # 验证 ssh root10.0.0.20 hostname uptime四、实际案例与步骤跟着敲即可目标每天 02:30 把/data/www增量同步到异地10.0.0.20:/backup/www并保留 7 天快照。4.1 创建基础目录B 节点ssh root10.0.0.20 mkdir -p /backup/www/{current,snapshots} ls -ld /backup/www/*4.2 第一次全量手动触发# 在 A 节点执行 rsync -avP \ --delete \ --exclude*.log \ --exclude*.tmp \ /data/www/ root10.0.0.20:/backup/www/current参数拆解-a归档递归保留权限时间戳-v显示详情-P断点续传 进度条--delete保证两端镜像--exclude不同步日志和临时文件4.3 利用--link-dest做快照关键# 定义变量方便阅读 REMOTEroot10.0.0.20 TARGET/backup/www/current SNAP/backup/www/snapshots/$(date %F_%H-%M) LINK/backup/www/current # 硬链接参考目录 rsync -avP \ --delete \ --exclude*.log \ --exclude*.tmp \ --link-dest$LINK \ /data/www/ \ $REMOTE:$SNAP执行后如果文件未改动在$SNAP中只是硬链接不额外占空间修改过的文件rsync 会复制新实体未修改的继续链接到current实现快照 增量合二为一。4.4 自动化脚本/usr/local/bin/rsync_www.sh#!/bin/bash # 变量区 SRC/data/www/ REMOTEroot10.0.0.20 BASE/backup/www DATE$(date %F_%H-%M) LOG/var/log/rsync_www.log # 1. 先同步到 current镜像 rsync -avP --delete --exclude*.log --exclude*.tmp \ $SRC $REMOTE:$BASE/current $LOG 21 # 2. 再基于 current 做硬链接快照 ssh $REMOTE mkdir -p $BASE/snapshots/$DATE rsync -avP --link-dest$BASE/current \ $SRC $REMOTE:$BASE/snapshots/$DATE $LOG 21 # 3. 只保留最近 7 天快照 ssh $REMOTE find $BASE/snapshots -maxdepth 1 -type d -mtime 7 -exec rm -rf {} echo [$DATE] www backup finished $LOG赋可执行权限chmod x /usr/local/bin/rsync_www.sh4.5 加入定时任务crontab -e# 每天 02:30 执行 30 2 * * * /usr/local/bin/rsync_www.sh /dev/null 214.6 一键还原演练灾难恢复# 假设 A 节点 /data/www 被误删 rsync -avP \ root10.0.0.20:/backup/www/current/ \ /data/www/或者回滚到 3 天前的快照rsync -avP \ root10.0.0.20:/backup/www/snapshots/2025-12-13_02-30/ \ /data/www/五、daemon 模式873 端口— 多人共享备份仓库场景需要匿名只读 or 账号认证多部门共用一台备份服务器不想开 SSH 账号。5.1 服务端配置B 节点# 安装 yum -y install rsync-daemon # CentOS # 或 apt install rsync # Ubuntu 已集成 daemon # 配置文件 /etc/rsyncd.conf cat /etc/rsyncd.conf EOF uid nobody gid nobody use chroot yes max connections 20 log file /var/log/rsyncd.log pid file /var/run/rsyncd.pid lock file /var/run/rsync.lock [wwwbackup] path /backup/www/current comment WWW mirror read only yes auth users backup secrets file /etc/rsyncd.secrets EOF # 账号密码 echo backup:123456 /etc/rsyncd.secrets chmod 600 /etc/rsyncd.secrets # 启动并开机自启 systemctl enable --now rsyncd5.2 客户端拉取任意机器# 列出模块 rsync rsync://10.0.0.20/ # 下载 rsync -avP rsync://backup10.0.0.20/wwwbackup/ /tmp/test/六、常见问题与解答FAQ问题现象解决1. 出现Permission denied (publickey)定时任务失败确认 crontab 里使用绝对路径SSH_AUTH_SOCK或在脚本里ssh-agent2.--delete误删文件目标被清空加--filter保护关键目录或先不做--delete确认日志后再加3. 断网后重新同步慢从头开始校验确保-P参数并升级 rsync ≥3.2 支持xxh128校验更快4. 硬链接快照仍占双倍空间du -sh显示变大使用du -sh --apparent-size查看逻辑大小确认文件是否真的改动5. 文件名空格/中文失败报错file has vanished使用-s–protect-args或IFS$\n循环七、实践建议与最佳实践3-2-1 原则至少 3 份副本2 种介质1 份异地。rsync 解决“1 份异地”。先做恢复演练备份≠能恢复每月随机抽快照还原一次。带宽限速白天业务高峰加--bwlimit20m避免占满上行。排除清单集中管理把--exclude-from/etc/rsync.exclude写进文件方便 Git 版本化。监控日志 告警tail -n 5 /var/log/rsync_www.log | grep -q finished || alert使用rsync btrfs/zfs快照可节省 50% 空间秒级回滚。加密传输远程 shell 模式默认走 SSH已加密daemon 模式需配合 stunnel 或 VPN否则明文。大文件优化-Wwhole file局域网千兆时可关闭块校验直接全文件传输更快。八、总结与应用场景核心回顾rsync 通过“滚动校验和 差异块”实现增量配合--delete做镜像、--exclude过滤垃圾、--link-dest零成本快照是 Linux 世界最经济实用的“备份瑞士军刀”。典型应用场景网站代码/图片异地热备MySQL 物理备份先xtrabackup→ rsync 到灾备机日志归集各节点rsync --append集中到日志中心虚拟机镜像凌晨快照后 rsync 到远程 NAS私人网盘家用树莓派 移动硬盘rsync 拉回公司数据。下一步学习结合inotify/rsyncd做实时的“触发式同步”使用rsync lsyncd达到 Dropbox 同秒级体验对比rclone支持对象存储本系列第 201 篇。把今天这份脚本直接搬到生产环境你的数据就拥有了“时间回溯”超能力。祝你备份愉快永不跑路