Merge pull request 'update_0.3-fix' (#4) from update_0.3-fix into main
Reviewed-on: https://gitea.oyacoi.ru/pyrschtjag/backup-manager/pulls/4
This commit was merged in pull request #4.
This commit is contained in:
+25
-37
@@ -21,24 +21,30 @@ DATE=$(date +%Y-%m-%d_%H-%M)
|
|||||||
S_MOUNT="/tmp/share"
|
S_MOUNT="/tmp/share"
|
||||||
|
|
||||||
C_LIST="
|
C_LIST="
|
||||||
/etc/config/
|
/etc/config
|
||||||
/etc/xray/
|
/etc/xray
|
||||||
/etc/unbound/
|
/etc/unbound
|
||||||
/root/.ssh/
|
/root/.ssh
|
||||||
/opt/xray-config/
|
/opt/.xray-config
|
||||||
/opt/backup-manager/
|
/opt/.backup-manager
|
||||||
/etc/nftables.d/10-netmap.nft
|
/etc/nftables.d/10-netmap.nft
|
||||||
|
/etc/hotplug.d/iface/99-xray-restart
|
||||||
|
/etc/zabbix_agentd.conf
|
||||||
|
/etc/dropbear
|
||||||
|
/etc/banner
|
||||||
|
/etc/init.d/xray
|
||||||
"
|
"
|
||||||
|
|
||||||
C_EXCLUDE="
|
C_EXCLUDE="
|
||||||
/opt/backup-manager/local_backups
|
/opt/.backup-manager/local_backups
|
||||||
/etc/xray/ipset
|
/etc/xray/ipset
|
||||||
/etc/xray/ipnet
|
/etc/xray/ipnet
|
||||||
"
|
"
|
||||||
|
|
||||||
H_REPLACE="wpad dnsmasq"
|
H_REPLACE="wpad dnsmasq"
|
||||||
|
|
||||||
DIR="/opt/backup-manager"
|
DIR=$(cd "$(dirname "$0")" && pwd)
|
||||||
|
#DIR="/opt/.backup-manager"
|
||||||
L_BACKUP_DIR="$DIR/local_backups"
|
L_BACKUP_DIR="$DIR/local_backups"
|
||||||
SCR_BACKUP="$DIR/backup-configs.sh"
|
SCR_BACKUP="$DIR/backup-configs.sh"
|
||||||
SCR_OPKG="$DIR/backup-opkg.sh"
|
SCR_OPKG="$DIR/backup-opkg.sh"
|
||||||
@@ -55,8 +61,7 @@ check_network() {
|
|||||||
printf "Checking network %s... " "$S_HOST"
|
printf "Checking network %s... " "$S_HOST"
|
||||||
if ! ping -c 2 "$S_HOST" >/dev/null 2>&1; then
|
if ! ping -c 2 "$S_HOST" >/dev/null 2>&1; then
|
||||||
echo "FAILED"
|
echo "FAILED"
|
||||||
echo "[!] Error: Remote host $S_HOST is unreachable."
|
echo " [!] Error: Remote host $S_HOST is unreachable."
|
||||||
echo " Check if the NAS is powered on and the IP/Hostname is correct."
|
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
echo "OK"
|
echo "OK"
|
||||||
@@ -97,7 +102,7 @@ mount_share() {
|
|||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
echo "FAILED"
|
echo "FAILED"
|
||||||
echo "[!] Error: Failed to mount $STORAGE_TYPE ($FULL_ADDR)"
|
echo " [!] Error: Failed to mount $STORAGE_TYPE ($FULL_ADDR)"
|
||||||
[ -n "$mount_err" ] && echo " System message: $mount_err"
|
[ -n "$mount_err" ] && echo " System message: $mount_err"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
@@ -156,47 +161,30 @@ case "$1" in
|
|||||||
echo " Backup remains only in $L_BACKUP_DIR"
|
echo " Backup remains only in $L_BACKUP_DIR"
|
||||||
fi
|
fi
|
||||||
echo "Summary:"
|
echo "Summary:"
|
||||||
echo " [+] Local: $LOCAL_FILE"
|
echo " [+] Local backup: $LOCAL_FILE"
|
||||||
|
echo " [+] Local packages: $LOCAL_LST"
|
||||||
if [ "$REMOTE_STATUS" = "OK" ]; then
|
if [ "$REMOTE_STATUS" = "OK" ]; then
|
||||||
echo " [+] Remote: ${S_HOST}:${S_PATH}/$(basename "$LOCAL_FILE")"
|
echo " [+] Remote backup: ${S_HOST}:${S_PATH}/$(basename "$LOCAL_FILE")"
|
||||||
|
echo " [+] Remote packages: ${S_HOST}:${S_PATH}/$(basename "$LOCAL_LST")"
|
||||||
else
|
else
|
||||||
echo " [!] Remote: Not saved"
|
echo " [!] Remote: Not saved"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
restore-pkgs)
|
|
||||||
check_network && mount_share || { echo "Remote unavailable"; exit 1; }
|
|
||||||
select_file "$S_MOUNT" ".lst"
|
|
||||||
[ -n "$SELECTED_PATH" ] && $SCR_OPKG restore "$SELECTED_PATH" "$H_REPLACE"
|
|
||||||
umount "$S_MOUNT"
|
|
||||||
;;
|
|
||||||
|
|
||||||
restore-sys-net)
|
|
||||||
check_network && mount_share || { echo "Remote unavailable"; exit 1; }
|
|
||||||
select_file "$S_MOUNT" ".tar.gz"
|
|
||||||
[ -n "$SELECTED_PATH" ] && sysupgrade -r "$SELECTED_PATH"
|
|
||||||
umount "$S_MOUNT"
|
|
||||||
;;
|
|
||||||
|
|
||||||
restore-sys-local)
|
|
||||||
select_file "$L_BACKUP_DIR" ".tar.gz"
|
|
||||||
[ -n "$SELECTED_PATH" ] && sysupgrade -r "$SELECTED_PATH"
|
|
||||||
;;
|
|
||||||
|
|
||||||
restore)
|
restore)
|
||||||
echo "1. Local storage ($L_BACKUP_DIR)"
|
echo " [1] Local storage ($L_BACKUP_DIR)"
|
||||||
echo "2. Remote storage ($STORAGE_TYPE)"
|
echo " [2] Remote storage ($STORAGE_TYPE)"
|
||||||
printf "Select source: "
|
printf "Select source: "
|
||||||
read s_choice
|
read s_choice
|
||||||
R_DIR=""
|
R_DIR=""
|
||||||
[ "$s_choice" -eq 1 ] && R_DIR="$L_BACKUP_DIR"
|
[ "$s_choice" -eq 1 ] && R_DIR="$L_BACKUP_DIR"
|
||||||
[ "$s_choice" -eq 2 ] && { check_network && mount_share && R_DIR="$S_MOUNT"; }
|
[ "$s_choice" -eq 2 ] && { check_network && mount_share && R_DIR="$S_MOUNT"; }
|
||||||
if [ -z "$R_DIR" ]; then
|
if [ -z "$R_DIR" ]; then
|
||||||
echo " [!] Source unavailable or cancelled."
|
echo " Source unavailable or cancelled."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "1. System configs (.tar.gz)"
|
echo " [1] System configs (.tar.gz)"
|
||||||
echo "2. Package list (.lst)"
|
echo " [2] Package list (.lst)"
|
||||||
printf "Select type: "
|
printf "Select type: "
|
||||||
read t_choice
|
read t_choice
|
||||||
case "$t_choice" in
|
case "$t_choice" in
|
||||||
|
|||||||
Reference in New Issue
Block a user