[gelöst] Backup der FBF Konfig automatisieren

meimi039

Mitglied
Mitglied seit
7 Jun 2005
Beiträge
323
Punkte für Reaktionen
0
Punkte
16
Hallo Leute!

Ich würde gerne per cron einen Export der Fritzbox-Konfig machen und per ftpput von der Box schaffen. Will sagen: Ich möchte bei einem Restore das ganze über das normale Webinterface wieder auf die Box hochladen können.

Hat jemand Ideen?
 
Zuletzt bearbeitet:
Um das wieder übers Webinterface hochzuladen brauchst du einen Export vom Webinterface. Wie du den jetzt auf der Box selbst machen willst, weiß ich nicht. Evenutell geht das mit einer erweiterten wget-Version?
Hier gibts ein paar Beispiele.

Der Rest wäre ja nur ein einfaches Skript...

MfG Oliver
 
Seiten per wget zu holen ist nicht wirkllich das Problem - aber die Übergabe des Kennwortes hab ich nicht wirklich im Griff...
Kannst Du mich da noch etwas detaillierter unterstützen...?
 
Wäre es für dich akzeptabel wenn du den Restore über das dsmod-Webinterface machen könntest?
kriegaex hat ein .cgi geschrieben, dass den Inhalt von /var/flash in eine Datei sichert und bei Bedarf wiederherstellt.
Das könnte man für deinen Bedarf noch um ein Skript für den cron erweitern.

MfG Oliver
 
Na das wäre doch perfekt! Es reicht mir auch völlig zu wissen, welche Dateien beim Backup der Box überhaupt gesichert werden. Zur Not nehme ich diese einfach in meine crontab mit auf. Die sieht derzeit so aus...:

Code:
0   4  *  *  0  cat /var/flash/ds_mod | ftpput -u user -p passwd myserver /fbfs/7170_4/ds_mod -
# 10  4  *  *  0  tar -cvf - /var/tmp/usbstick1/ | ftpput -u user -p passwd myserver /fbfs/7170_4/usbstick1.tar -
#

Ich hatte einfach nur gedacht, das originale Webinterface ruft einfach nur ein Script oder Binary auf, welches das File erzeugt. Das hätte ich dann einfach aus der Box geschafft.
Ansonsten schafft man einfach alles unter /var/flash raus...

Wäre das der richtig Weg?
 
Das Skript wird so aussehen:
Code:
# Set working dir so tar can use relative path names
cd /var/tmp > /dev/null 2>&1
# Create empty temp-dir for backup
export BACKUP_DIR='var_flash' > /dev/null 2>&1
rm -rf $BACKUP_DIR > /dev/null 2>&1
mkdir $BACKUP_DIR > /dev/null 2>&1
# Create temporary copies of those character streams in /var/flash
for file in $(ls /var/flash); do
cat /var/flash/$file > $BACKUP_DIR/$file 2> /dev/null
done
# Create backup and send it to client via stdout
tar cz $BACKUP_DIR/ 2> /dev/null
# Clean up
rm -rf $BACKUP_DIR > /dev/null 2>&1
Es werden also alle Dateien unter /var/flash nach var_flash.tar.gz (mit Verzeichnis var_flash) gesichert. Wenn du das genauso machst, dann kannst du es mit dem Backup-cgi auf die Box zurückspielen.

MfG Oliver
 
Ah! Kuhl!
Wenn in einem Backup eh nichts anderes drin ist... dann isses ja leicht zu verscripten...

Danke für den schnellen Support!

Ich habe nun ein Script erstellt, welches ich über cron aufrufe:

Code:
#!/bin/sh
##############################################################################
##############################################################################
##                                                                          ##
##                                                                          ##
##  fbfbackup server user passwd filename                                   ##
##                                                                          ##
##  Legt Kopie von /var/flash verschlüsselt auf ftp-server                  ##
##                                                                          ##
##############################################################################
##############################################################################

BACKUP_DIR='var_flash'
SERVER=$1
USER=$2
PASSWD=$3
FILENAME=$4
# if "$FILENAME" == "" then
# FILENAME=`cat /var/flash/ar7.cfg | grep 'From = ' | sed 's/.*.From = \"\\\"//;s/\\\" .*.//'`.tar.gz
# fi

# Kein Server eingegeben dann Schluß
[ ! $SERVER ] && exit

##############################################################################
cd /var/tmp
mkdir $BACKUP_DIR

for file in $(ls /var/flash); do
cat /var/flash/$file > $BACKUP_DIR/$file 2> /dev/null
done

tar -czf - $BACKUP_DIR/ | 
# Passwords dont belong to the Internet!
# rot13 corrupts the zip-file. Do this again to recover.
sed 'y/abcdefghijklmnopqrstuvwxyz/nopqrstuvwxyzabcdefghijklm/' |
ftpput -u $USER -p $PASSWD $SERVER /fbf/$FILENAME -

rm -rf $BACKUP_DIR > /dev/null 2>&1

Dieses Script erzeugt auf einem FTP-Server ein File mit einem Dateinamen, der (wenn man es will) aus dem Namen aus dem Push-Service hervorgeht. Muß man nur auskommentieren. Hier benutze ich das Feld "Absendername". Aus diesem würde dann "Absendername.tar.gz"
 
Zuletzt bearbeitet:

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,868
Beiträge
2,219,771
Mitglieder
371,585
Neuestes Mitglied
PauSchmitz
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.