feat: switch to apk

This commit is contained in:
root
2026-04-13 15:07:22 +04:00
parent 2e0fb53e34
commit 79f6f004cf
4 changed files with 186 additions and 41 deletions
+11 -6
View File
@@ -28,17 +28,17 @@ C_LIST="
/opt/.xray-config
/opt/.backup-manager
/etc/nftables.d/10-netmap.nft
/etc/nftables.d/15-pbr-mark.nft
/etc/hotplug.d/iface/99-xray-restart
/etc/zabbix_agentd.conf
/etc/dropbear
/etc/banner
/etc/init.d/xray
/etc/crontabs/root
"
C_EXCLUDE="
/opt/.backup-manager/local_backups
/etc/xray/ipset
/etc/xray/ipnet
"
H_REPLACE="wpad dnsmasq"
@@ -47,7 +47,7 @@ DIR=$(cd "$(dirname "$0")" && pwd)
#DIR="/opt/.backup-manager"
L_BACKUP_DIR="$DIR/local_backups"
SCR_BACKUP="$DIR/backup-configs.sh"
SCR_OPKG="$DIR/backup-opkg.sh"
SCR_APK="$DIR/backup-apk.sh"
mkdir -p "$L_BACKUP_DIR"
@@ -73,11 +73,16 @@ check_dependencies() {
local pkgs=""
[ "$STORAGE_TYPE" = "nfs" ] && pkgs="kmod-fs-nfs kmod-fs-nfs-v3 kmod-fs-nfs-v4 nfs-utils"
[ "$STORAGE_TYPE" = "smb" ] && pkgs="kmod-fs-cifs cifs-utils"
local missing=""
for pkg in $pkgs; do
opkg list-installed | grep -q "^$pkg " || missing="$missing $pkg"
if ! apk info -e "$pkg" >/dev/null 2>&1; then
missing="$missing $pkg"
fi
done
if [ -n "$missing" ]; then
echo "FAILED"
echo " [!] Missing: $missing. Install them to use remote backup."
return 1
fi
@@ -144,7 +149,7 @@ case "$1" in
LOCAL_FILE="$L_BACKUP_DIR/backup_${HNAME}_${DATE}.tar.gz"
LOCAL_LST="$L_BACKUP_DIR/packages_${HNAME}_${DATE}.lst"
REMOTE_STATUS="FAILED"
$SCR_BACKUP "$LOCAL_FILE" "$LOCAL_LST" "$SCR_OPKG" "$C_LIST" "$H_REPLACE" "$C_EXCLUDE"
$SCR_BACKUP "$LOCAL_FILE" "$LOCAL_LST" "$SCR_APK" "$C_LIST" "$H_REPLACE" "$C_EXCLUDE"
manage_local_backups
if check_network && check_dependencies && mount_share; then
printf "Copying to %s storage... " "$STORAGE_TYPE"
@@ -198,7 +203,7 @@ case "$1" in
2)
select_file "$R_DIR" ".lst"
if [ -n "$SELECTED_PATH" ]; then
$SCR_OPKG restore "$SELECTED_PATH" "$H_REPLACE"
$SCR_APK restore "$SELECTED_PATH" "$H_REPLACE"
fi
;;
*)