悟空最近新出的IStoreOS备份脚本,很好用
该项目可以轻松备份iStoreOS已安装的软件和配置,当系统恢复出厂设置或重置后,可以一键恢复原来的软件和配置。
特别说明:对于iStoreOS系统而言,docker的数据分区基本上被用户主动迁移到另一个分区,因此无需备份,因为重置系统并不会删除用户自己新建的分区。若用户没有迁移docker的数据分区,那么我们的备份已经包含!
💡 特色功能
- 💻 支持
一键生成备份档案 包括已安装软件及其配置
- 💻 支持
一键恢复备份档案 包括已安装软件及其配置
- 💻 支持
已安装软件及其配置:包含应用商店和第三方安装的ipk/run
- 🔑 支持
同时支持终端命令行方式和iStore应用商店手动安装方式
- 软路由iStoreOS(x86_64|Arm64) ✅
- 兼容机型:MT3000/2500/6000 ✅
特别说明:这三款机型的恢复工作是分两步走。
1、执行sh restore.run
后先恢复到iStoreOS风格,执行完毕后会提示用户上传你的备份档案。
2、再次执行sh restore.run
后,提示恢复成功并重启,方可完成✅
🚀 方法一 命令行方式
1. 生成备份/tmp/upload/backup.tar.gz
wget -O backup.run https://raw.githubusercontent.com/wukongdaily/OpenBackRestore/master/backup/backup.run && sh backup.run
备份仓库
wget -O backup.run https://gitee.com/wukongdaily/OpenBackRestore/raw/master/backup/backup.run && sh backup.run
每次备份都是完整的,可以经常备份,比如每月备份一次
2. 恢复备份
使用前提 将备份档案提前上传到 /tmp/upload/
目录,如图
确定备份文件已经上传了 再执行如下命令即可恢复,恢复完成后会自动重启
❤️恢复命令如下
wget -O restore.run https://raw.githubusercontent.com/wukongdaily/OpenBackRestore/master/backup/restore.run && sh restore.run
备份仓库
wget -O restore.run https://gitee.com/wukongdaily/OpenBackRestore/raw/master/backup/restore.run && sh restore.run
🚀 方法二 手动方式
1、在release页面下载backup.run或restore.run
https://github.com/wukongdaily/OpenBackRestore/releases/latest
2、打开iStore应用商店,点击手动安装,将run文件拖拽上去即可执行。
设置定时备份至指定目录
举例说明 假设要备份到 /mnt/sata2-1
目录
- 下载脚本
wget -O backup.run https://raw.githubusercontent.com/wukongdaily/OpenBackRestore/master/backup/backup.run
- 或下载脚本(内地使用)
wget -O backup.run https://gitee.com/wukongdaily/OpenBackRestore/raw/master/backup/backup.run
- 脚本上传至指定文件夹(例:/mnt/sata2-1)
SSH登录 转到对应目录下
cd /mnt/sata2-1
- 执行备份(备份位置假设为/mnt/sata2-1)
sh backup.run /mnt/sata2-1
设置定期备份(每天的早晨6点备份至/sata2-1/iStoreOS下)
00 06 */1 * * sh /mnt/sata2-1/backup.run /mnt/sata2-1/iStoreOS
视频介绍
个人修改需求
修改代码增加文件名日期
快速备份使用方法
#!/bin/sh
red() { echo -e "\033[31m\033[01m[WARNING] $1\033[0m"; }
green() { echo -e "\033[32m\033[01m[INFO] $1\033[0m"; }
yellow() { echo -e "\033[33m\033[01m[NOTICE] $1\033[0m"; }
blue() { echo -e "\033[34m\033[01m[MESSAGE] $1\033[0m"; }
light_magenta() { echo -e "\033[95m\033[01m[NOTICE] $1\033[0m"; }
light_yellow() { echo -e "\033[93m\033[01m[NOTICE] $1\033[0m"; }
backup() {
# 获取当前日期并格式化为年月日形式
local date_str=$(date +'%Y%m%d')
# 检查是否传入自定义路径
local backup_path=${1:-/tmp/upload}
mkdir -p "$backup_path"
cd "$backup_path" || exit
# 备份软件源配置
cp /etc/opkg/distfeeds.conf distfeeds.conf
# 备份已安装软件列表
opkg list-installed > packages-list.txt
tar -czvf overlay_backup.tar.gz /overlay
# 将所有备份打包成一个文件
tar -czvf "backup_${date_str}.tar.gz" distfeeds.conf packages-list.txt overlay_backup.tar.gz
# 清理临时文件
rm -rf distfeeds.conf packages-list.txt overlay_backup.tar.gz
green "系统备份文件已保存至 $backup_path/"backup_${date_str}.tar.gz""
light_magenta "请及时下载保存到电脑 供恢复时使用"
}
backup "$1"
- 上述代码保存至本地并命名为
backup.run
- 脚本上传至指定文件夹(例:/mnt/sata2-1)
SSH登录 转到对应目录下
cd /mnt/sata2-1
- 执行备份(备份位置假设为/mnt/sata2-1)
sh backup.run /mnt/sata2-1
设置定期备份(每天的早晨6点备份至/sata2-1/iStoreOS下)
00 06 */1 * * sh /mnt/sata2-1/backup.run /mnt/sata2-1/iStoreOS
5 条评论
你的才华横溢,让人敬佩。 http://www.55baobei.com/M447m4eWB9.html
博主太厉害了!
这篇文章写得深入浅出,让我这个小白也看懂了!
前两天看他出n1的固件
N1存量太大了