为什么要做完整备份
因为一个完全适合自己的软路由器系统,实际上是需要配置和折腾很多东西的。有时候一个不小心 能会影响某一些功能的使用。
另外也是为了无缝升级配置
电报群里网友帮忙从op.supes.top 大神那边定制了一个固件。包含了一些我常用的一些功能。
但是实际使用的使用,还是发现很多问题:
主要是几个小问题
1、ipv6的转发问题(我ipv6 80 443 等端口都是封的,无法使用,所以还是干脆和ipv4一起从路由上转发后统一管理方便一些)
2、防火墙的一点小问题:op自己不能访问 外网+自己转发的端口。
3、vpn(ipsec)的一点问题,什么都不如自己随时连接到内网爽。
4、vpn访问外网和内网 以及梯子分流等
解决这些问题在朋友帮助下依旧花费了一个下午去调试。 为了防止后面搞坏,除了在luci界面备份一份etc之外,还是全盘备份一下比较安心。
原始img文件分区 为 2个分区 一个efi(/dev/sda1) 一个5G根(/dev/sda2),实际硬盘是32G msata
我这里挂上一个1T机械盘(/dev/sdb1)会自动挂载到 /mnt/sdb1
DD备份方法
备份整个分区
1
2
3
4
5
6
7
| # 创建备份目录
mkdir /mnt/sdb1/openwrt
# 直接备份
dd if=/dev/sda2 of=/mnt/sdb1/openwrt/backup-20230110-overlay.img
# 压缩备份
dd if=/dev/sda1 | gzip > /mnt/sdb1/openwrt/backup-$(date +%Y-%m-%d_%H)-efi.img.gz
dd if=/dev/sda2 | gzip > /mnt/sdb1/openwrt/backup-$(date +%Y-%m-%d_%H)-overlay.img.gz
|
还原
1
| gzip -dc /mnt/sdb1/openwrt/backup-XXXX.img.gz | dd of=/dev/sda2
|
记得 已经挂载的分区 是不可以还原的,需要先卸载后还原,但是肯定是无法从op里面直接卸载的。所以还原需要从另外一个系统里面操作 ,还是不太方便。
tar备份方法
备份
efi备份(没太大必要)
1
| tar -czvf /mnt/sdb1/openwrt/backup-$(date +%Y-%m-%d_%H)-efi.tar.gz /boot
|
overlay备份 openwrt的精髓
1
| tar -czvf /mnt/sdb1/openwrt/backup-$(date +%Y-%m-%d_%H)-overlay.tar.gz /overlay
|
单独备份/etc (没太大必要)
1
| tar -czvf /mnt/sdb1/openwrt/backup-$(date +%Y-%m-%d_%H)-overlay-etc.tar.gz /overlay/upper/etc
|
还原
1
2
3
| rm -rvf /overlay/*
cd /
tar -xzvf /mnt/sdb1/openwrt/backup-XXXX-overlay.tar.gz
|
备份软件列表
方便自己后期查看管理
1
| opkg list-installed > /mnt/sdb1/openwrt/backup-$(date +%Y-%m-%d_%H)-soft-list.txt
|
关于自动备份
把上面命令 选择性 添加到计划任务 吧。也可以使用rclone等方法定时同步到云盘。自己折腾吧。
例如 每周2、周五 早上9点33 和50分 备份overlay 和软件列表
1
2
| 0 33 9 * * 2,5 * tar -czvf /mnt/sdb1/openwrt/backup-$(date +%Y-%m-%d_%H)-overlay.tar.gz /overlay
0 53 9 * * 2,5 * opkg list-installed > /mnt/sdb1/openwrt/backup-$(date +%Y-%m-%d_%H)-soft-list.txt
|
优化的自动备份脚本
1
| nano /etc/auto_backup.sh
|
内容
1
2
3
4
5
6
7
8
9
| backupfilename=$(date +%Y%m%d_%H%M%S)
backuppath1="/opt/openwrt-backup"
# mkdir /opt/openwrt-backup
tar -czvf $backuppath1/$backupfilename-overlay.tar.gz /overlay
opkg list-installed > $backuppath1/$backupfilename-soft-list.txt
# rm -rvf /overlay/*
# cd /
# tar -xzvf /mnt/sdb1/openwrt/backup-XXXX-overlay.tar.gz
|
添加计划任务 每天6点12点18点23点分别备份一次
等折腾顺利,就不用这样频繁备份了
1
| 32 6,12,18,23 * * * sh /etc/auto_backup.sh
|
参考文章:https://zhzhzhy.github.io/2022/03/20/2022/openwrt-bakcup-step