diff --git a/backup/restore.sh b/backup/restore.sh index 4b87a2d..39ccf63 100755 --- a/backup/restore.sh +++ b/backup/restore.sh @@ -1,11 +1,11 @@ #!/bin/sh -mkdir -p /tmp/upload/backup +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/ +if [ -f /tmp/upload/backup.tar.gz ]; then + tar -xzvf /tmp/upload/backup.tar.gz -C /tmp/upload/backup + cd /tmp/upload/backup # 恢复软件源 cp distfeeds.conf /etc/opkg/distfeeds.conf # 恢复已安装列表 @@ -16,9 +16,16 @@ if [ -f /tmp/upload/backup/backup.tar.gz ]; then # 恢复/etc 配置 tar -xzvf etc_backup.tar.gz -C / - reboot + # 恢复已完成,询问用户是否重启 + echo "恢复已完成, 是否重启 (y/n)?" + read answer + if [ "$answer" = "y" ]; then + reboot + else + echo "重启已取消,手动重启以应用所有更改。" + fi else # 如果文件不存在,提醒用户并退出脚本 - echo "请将恢复文档backup.tar.gz 上传到 /tmp/upload/backup 目录 再重试。" + echo "请将恢复文档backup.tar.gz 上传到 /tmp/upload 目录 再重试。" exit 1 fi