Linux 服务器自动备份神器:Rsync 备份管理工具
1192 字
6 分钟
Linux 服务器自动备份神器:Rsync 备份管理工具
Linux 服务器自动备份神器:Rsync 备份管理工具
在服务器运维中,数据备份是一项至关重要的工作。手动备份不仅繁琐,还容易遗漏。今天分享一个自己写的 Rsync 备份管理工具,它可以帮你轻松实现自动化增量备份,支持定时任务和开机自启。
视频教程
快速了解工具的使用方法,请观看视频教程:
一、功能特点
这个脚本具备以下核心功能:
- 添加备份任务:通过交互式菜单配置备份源、目标服务器、SSH 端口、密码等信息
- 修改备份任务:随时调整已有备份任务的配置
- 删除备份任务:一键清理不需要的备份任务
- 灵活的定时设置:支持按分钟设置备份间隔,可单独修改或批量修改
- 增量同步:基于 Rsync,只传输变化的部分,大幅节省带宽和时间
- 开机自启动:服务器重启后自动恢复备份任务
- 自动依赖安装:首次运行自动检测并安装
rsync、sshpass、cron等依赖
二、工作原理
脚本的核心工作流程如下:
用户配置 -> 生成配置文件 -> 生成 Rsync 备份脚本 -> 添加 Cron 定时任务2.1 配置文件管理
每个备份任务会生成一个独立的配置文件,存储在 /opt/backup/backup_configs/ 目录下:
BACKUP_NAME="mybackup"SOURCE_FOLDER="/data/important"USERNAME="root"HOST="192.168.1.100"PORT="22"DEST_FOLDER="/backup"PASSWORD="your_password"INTERVAL="60"2.2 Rsync 增量备份
脚本使用 rsync + sshpass 实现自动化增量备份。相比传统的 SCP 全量复制,Rsync 只传输文件变化的部分,效率更高。每个备份任务会生成一个对应的 Bash 脚本,自动处理:
- 通过
sshpass自动传递密码,无需交互 - 使用
-avz参数保留文件属性并压缩传输 - 自动接受 SSH 主机密钥
- 日志记录,超过 5MB 自动清空
2.3 Cron 定时任务
脚本会根据你设置的时间间隔,自动生成合适的 Cron 表达式:
| 间隔设置 | Cron 表达式 |
|---|---|
| 30 分钟 | */30 * * * * |
| 60 分钟 | 0 * * * * |
| 120 分钟 | 0 */2 * * * |
三、使用方法
3.1 一键安装
国内服务器:
bash <(curl -sL https://gitee.com/Assute/backup_manager/raw/master/backup_manager.sh)国外服务器:
bash <(curl -sL https://raw.githubusercontent.com/Assute/backup_manager/main/backup_manager.sh)3.2 主菜单界面
运行后会显示一个美观的交互式菜单:

3.3 添加备份任务示例
选择 1. 添加备份 后,按提示输入:
- 任务名称:如
web_backup,仅支持英文和数字 - 备份路径:如
/var/www/html - 目标服务器:如
192.168.1.100 - SSH 端口:默认 22
- 用户名:默认 root
- 密码:SSH 登录密码
- 目标目录:如
/backup/web - 备份间隔:如 60,单位为分钟
配置完成后,脚本会:
- 保存配置文件
- 生成自动化备份脚本
- 添加定时任务
- 设置开机自启
- 立即执行一次备份
四、目录结构
脚本运行后会创建以下目录结构:
/opt/backup/├── backup_configs/ # 配置文件目录│ └── mybackup.conf├── backup_scripts/ # Rsync 备份脚本目录│ └── mybackup.sh└── backup_logs/ # 日志文件目录 └── mybackup.log五、查看备份日志
每个备份任务都有独立的日志文件,记录备份的开始和完成时间:
cat /opt/backup/backup_logs/mybackup.log输出示例:
2024-01-15 10:00:01 - 开始备份 /data/important -> root@192.168.1.100:22:/backup2024-01-15 10:00:15 - 备份完成六、注意事项
- 需要 root 权限:脚本需要 root 权限来安装依赖和管理 cron 任务
- 密码安全:配置文件中存储了明文密码,文件权限已设置为 600,仅 root 可读写
- 网络要求:确保本机可以通过 SSH 连接到目标服务器
- 存储空间:请确保目标服务器有足够的存储空间
七、适用场景
- 网站数据定时备份到远程服务器
- 数据库导出文件异地备份
- 配置文件定期同步
- 日志文件归档备份
八、总结
这个 Rsync 备份管理工具通过交互式菜单简化了备份任务的配置过程,结合 sshpass 实现密码自动化,利用 Rsync 增量同步节省带宽,配合 Cron 实现定时执行,是一个实用的服务器备份解决方案。
如果你也有服务器备份的需求,不妨试试这个脚本。
九、项目地址
十、免责声明
本脚本仅供学习和参考使用,请根据实际环境调整。使用本脚本所造成的任何直接或间接损失,作者不承担任何责任。请在使用前充分测试,并确保已备份重要数据。
禁止将本脚本用于任何非法用途。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
Linux 服务器自动备份神器:Rsync 备份管理工具
https://ff.yoyoiu.com/posts/rsync-backup-manager/ 相关文章 智能推荐
1
被屏蔽海外访问的国内服务器,如何用代理做加速
服务器 一篇可直接落地的完整安装教程,教你通过 CN 中继和 DL 上游,让无法直连海外资源的国内服务器稳定访问 GitHub 等站点。
2
Apple ID 信息展示页,一个基于 Node.js 的轻量数据抓取与展示面板
网站项目 这是一个基于 Node.js、Express 和 Cheerio 搭建的 Apple ID 信息展示页,支持定时抓取、结构化整理、前端卡片展示以及 Docker 部署。
3
电商工具分享|淘宝订单评价批量检查工具,一键筛出买家真实评价
电商 一款用于淘宝订单评价批量检查的开源工具,可自动抓取订单、识别真实评价与系统默认好评,并导出结果。
4
电商工具分享|生意参谋关键词批量采集工具,一键提取全类目搜索词
电商 一款基于 Selenium 和 tkinter 开发的生意参谋关键词批量采集工具,支持多级类目遍历、自动翻页、关键词筛选,并导出 Excel。
5
Cookie Viewer & Exporter 一键查看并导出网站 Cookie 的 Chrome 扩展
浏览器插件 Cookie Viewer & Exporter 是一款轻量的 Chrome 扩展,可以一键查看当前网站的所有 Cookie,并快速复制或导出为标准请求头格式。
随机文章 随机推荐