/OpenBackRestore

该项目可以轻松备份iStoreOS已安装的软件和配置,当系统恢复出厂设置或重置后,可以一键恢复原来的软件和配置

Primary LanguageShellGNU General Public License v3.0GPL-3.0

iStoreOS/OpenWrt一键备份与恢复脚本 GitHub release (by tag)

🤔 这是什么?

该项目可以轻松备份iStoreOS已安装的软件和配置,当系统恢复出厂设置或重置后,可以一键恢复原来的软件和配置。

特别说明:对于iStoreOS系统而言,docker的数据分区基本上被用户主动迁移到另一个分区,因此无需备份,因为重置系统并不会删除用户自己新建的分区。若用户没有迁移docker的数据分区,那么我们的备份已经包含!

💡 特色功能

  • 💻 支持一键生成备份档案 包括已安装软件及其配置
  • 💻 支持一键恢复备份档案 包括已安装软件及其配置
  • 💻 支持已安装软件及其配置:包含应用商店和第三方安装的ipk/run
  • 🔑 支持同时支持终端命令行方式和iStore应用商店手动安装方式
  • 支持的OpenWrt系统列表如下
  • 1、软路由iStoreOS(x86_64 | ARM64) ✅
  • 2、兼容机型:MT3000/2500/6000 ✅
  • 3、OpenWrt(squashfs-combined)✅
  • 4、OpenWrt(ext4-combined)❌

只要是squashfs-combined类型的openwrt固件,理论上都可以兼容的。因为它们都是用了overlayfs文件系统的。

特别说明:GL-iNET这三款机型的恢复工作是分两步走。
1、执行sh restore.run 后先恢复到iStoreOS风格,执行完毕后会提示用户上传你的备份档案。
2、再次执行sh restore.run 后,提示恢复成功并重启,方可完成✅

🚀 方法一 命令行方式

1. 生成备份/tmp/upload/backup.tar.gz

wget -O backup.run https://cafe.cpolar.cn/wkdaily/OpenBackRestore/raw/branch/master/backup/backup.run && sh backup.run

每次备份都是完整的,可以经常备份,比如每月备份一次

🤔 如何自定义备份的路径?方法如下

https://github.com/wukongdaily/OpenBackRestore/wiki

  • 下载脚本
wget -O backup.run https://cafe.cpolar.cn/wkdaily/OpenBackRestore/raw/branch/master/backup/backup.run

举例说明 假设要备份到 /mnt/sata1-4目录

  • 执行备份
sh backup.run /mnt/sata1-4

2. 恢复备份

使用前提 将备份档案提前上传到 /tmp/upload/ 目录,如图

huifu

确定备份文件已经上传了 再执行如下命令即可恢复,恢复完成后会自动重启

❤️恢复命令如下

wget -O restore.run https://cafe.cpolar.cn/wkdaily/OpenBackRestore/raw/branch/master/backup/restore.run && sh restore.run

🚀 方法二 手动方式

1、在release页面下载backup.run或restore.run
https://github.com/wukongdaily/OpenBackRestore/releases/latest
2、打开iStore应用商店,点击手动安装,将run文件拖拽上去即可执行。
image

在1panel的计划任务里做定时备份iStoreOS系统

bash -c "$(curl --insecure -fsSL https://cafe.cpolar.cn/wkdaily/OpenBackRestore/raw/branch/master/1panel/backup.sh)" -- /ahost/mnt/mmc1-4/backupSystem
  • 其中 /ahost/mnt/mmc1-4/backupSystem 按需修改为备份文件保存的位置

1Panel 2024-07-02 14-49-18888

前提条件❤️❤️❤️

https://github.com/wukongdaily/OrangePiShell 这个项目的第三条命令
因为默认情况下istoreos的应用商店里的1panel 并没有映射全部目录,只映射了/mnt
所以无法完成/overlay的备份。因此需要稍微改动一下。详见上述脚本

root@iStoreOS: ~ | :bin:login (iStoreOS) 2024-07-02 15-08-17

恢复1panel计划任务产生的iStoreOS的备份

bash -c "$(curl --insecure -fsSL https://cafe.cpolar.cn/wkdaily/OpenBackRestore/raw/branch/master/1panel/restore.sh)"

扩展问题:如何备份到NAS?挂cifs即可。方法如图

使用前提:iStoreOS和NAS处于同一个网段。经典模型:软路由+无线路由器ap模式

使用前提:第二种情况,NAS处于软路由的上一级。举例:光猫拨号的光猫连接了NAS,后面接了软路由iStoreOS,软路由作为二级路由器也同样可以访问NAS。

cifs

iStoreOS 如何挂载威联通NAS的共享文件夹。如图所示 注意大小写

qnapp

QNAP-TBS 2024-07-06 11-00-14