M0n0wall Backup-Skript mit nicht-standard Port

Erstellt: 16.05.2011, 14:38 | Editiert: 09.02.2016, 14:28 | 1.521 mal angesehen | Eintrag drucken | Kategorie(n): Linux, M0n0wall und OPNsense

Hinweis: Der Eintrag "M0n0wall Backup-Skript mit nicht-standard Port" wurde vor mehr als einem Jahr geschrieben oder zuletzt editiert und ist unter Umständen veraltet oder nicht mehr korrekt.

Das früher auf dieser Seite gelistete PHP-Skript funktioniert nicht mehr, da M0n0wall für den Login seit einiger Zeit einen CSRF-/Magic-Cookie benötigt.

Hier eine Bash-Lösung mit curl:

#!/bin/bash
#
# Stolen from      http://forum.m0n0.ch/index.php?topic=6085.0
# m0n0-m0d1f1ed by stefan(a)onderka.com (Path for backup, chown, etc.)
#
# http:// or https://
PROTO='https://'
# IP or hostname
IP="router.local.lan"
# Local path for backup
BACKUP_PATH="/var/backup/m0n0wall/"
# M0n0wall admin user
USERNAME="admin"
# M0n0wall admin password
PASSWORD="mono"
# User/Grouop for downloaded config
CHOWN_UIDGID="backup:users"
# Filename for backup
BACKUP_FILE="config-${IP}-$(date +%Y%m%d%H%M%S).xml"
# Misc
CURL_OPTS="--basic --user ${USERNAME}:${PASSWORD} --insecure --stderr /dev/null"
BACKUP_URL=${PROTO}${IP}/diag_backup.php

echo "M0n0wall backup of host ${IP}"
echo -n "* Logging in to retrieve CSRF magic: "
CSRF=$(curl ${CURL_OPTS} ${BACKUP_URL} | \
grep '__csrf_magic' | \
sed "s#.*value=\"\(.*\)\".*#\1#")
if [ -z ${CSRF} ]; then
        echo "Failed"
        exit 1
fi
echo "Done"
echo -n "* Downloading configuration: "
UPLOADED=$(curl ${CURL_OPTS} --referer ${BACKUP_URL} \
--form Submit=Download --form __csrf_magic=${CSRF} \
${BACKUP_URL} -o ${BACKUP_PATH}/${BACKUP_FILE}; echo $?)
if [ $UPLOADED -ne 0 ]; then
        echo "Failed"
        exit 1
fi
chown ${CHOWN_UIDGID} ${BACKUP_PATH}/${BACKUP_FILE}
echo "Done"

Tags: #, #

Ähnliches

Seiten und Einträge, gefunden nach Tags.

Schreibe einen Kommentar

Captcha * Time limit is exhausted. Please reload CAPTCHA.