diff --git a/backup/backup.sh b/backup/backup.sh index 022cd97..583e049 100755 --- a/backup/backup.sh +++ b/backup/backup.sh @@ -4,4 +4,6 @@ cd /tmp/upload/backup cp /etc/opkg/distfeeds.conf distfeeds.conf opkg list-installed > packages-list.txt tar -czvf overlay_backup.tar.gz /overlay -tar -czvf etc_backup.tar.gz --exclude='/etc/config/wireless' /etc \ No newline at end of file +tar -czvf etc_backup.tar.gz --exclude='/etc/config/wireless' /etc +tar -czvf backup.tar.gz distfeeds.conf packages-list.txt overlay_backup.tar.gz etc_backup.tar.gz +rm -rf distfeeds.conf packages-list.txt overlay_backup.tar.gz etc_backup.tar.gz diff --git a/backup/restore.sh b/backup/restore.sh index 481955f..4b87a2d 100755 --- a/backup/restore.sh +++ b/backup/restore.sh @@ -1,12 +1,24 @@ #!/bin/sh -# 恢复软件源 -cp distfeeds.conf /etc/opkg/distfeeds.conf -# 恢复已安装列表 -opkg update -cat packages-list.txt | cut -f 1 -d ' ' | xargs opkg install -# 恢复/overlay 配置 -tar -xzvf overlay_backup.tar.gz -C / -# 恢复/etc 配置 -tar -xzvf etc_backup.tar.gz -C / -reboot \ No newline at end of file +mkdir -p /tmp/upload/backup + +# 检查backup.tar.gz文件是否存在 +if [ -f /tmp/upload/backup/backup.tar.gz ]; then + tar -xzvf /tmp/upload/backup/backup.tar.gz -C /tmp/upload/backup/ + cd /tmp/upload/backup/ + # 恢复软件源 + cp distfeeds.conf /etc/opkg/distfeeds.conf + # 恢复已安装列表 + opkg update + cat packages-list.txt | cut -f 1 -d ' ' | xargs opkg install + # 恢复/overlay 配置 + tar -xzvf overlay_backup.tar.gz -C / + # 恢复/etc 配置 + tar -xzvf etc_backup.tar.gz -C / + + reboot +else + # 如果文件不存在,提醒用户并退出脚本 + echo "请将恢复文档backup.tar.gz 上传到 /tmp/upload/backup 目录 再重试。" + exit 1 +fi