OpenBackRestore/backup/backup.run

28 lines
1.1 KiB
Bash
Executable File

#!/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 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.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.tar.gz"
light_magenta "请及时下载保存到电脑 供恢复时使用"
}
backup "$1"