OpenBackRestore/backup/restore.run

34 lines
1.1 KiB
Plaintext
Raw Normal View History

2024-03-30 09:49:09 +08:00
#!/bin/sh
2024-03-30 10:38:45 +08:00
# 定义颜色输出函数
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"; }
2024-03-30 09:49:09 +08:00
2024-03-30 10:38:45 +08:00
restore() {
2024-03-30 22:05:52 +08:00
mkdir -p /tmp/upload/restore
2024-03-30 10:38:45 +08:00
# 检查backup.tar.gz文件是否存在
if [ -f /tmp/upload/backup.tar.gz ]; then
2024-03-30 22:05:52 +08:00
tar -xzvf /tmp/upload/backup.tar.gz -C /tmp/upload/restore
cd /tmp/upload/restore
2024-03-30 21:51:34 +08:00
# 恢复软件源配置
2024-03-30 10:38:45 +08:00
cp distfeeds.conf /etc/opkg/distfeeds.conf
2024-03-30 21:51:34 +08:00
# 恢复已安装软件列表
2024-03-30 10:38:45 +08:00
opkg update
cat packages-list.txt | cut -f 1 -d ' ' | xargs opkg install
2024-03-30 22:19:26 +08:00
# 分别恢复overlay、etc目录
2024-03-30 10:38:45 +08:00
tar -xzvf overlay_backup.tar.gz -C /
tar -xzvf etc_backup.tar.gz -C /
green "恢复已完成, 系统正在重启....."
2024-03-30 10:21:42 +08:00
reboot
else
2024-03-30 21:51:34 +08:00
red "请将恢复文档backup.tar.gz上传到/tmp/upload目录再重试。"
2024-03-30 10:38:45 +08:00
exit 1
2024-03-30 10:21:42 +08:00
fi
2024-03-30 10:38:45 +08:00
}
2024-03-30 21:51:34 +08:00
2024-03-30 10:38:45 +08:00
restore