debug.cfg Befehle ausgegliedert und updatebar

milkpirate

Neuer User
Mitglied seit
11 Jul 2006
Beiträge
136
Punkte für Reaktionen
0
Punkte
16
So ich beschäftige mich seit einer Weil mit diesem Forum und möchte nun auch mal meine Scriptsenf dazu geben. Meine Idee: das Laden und Befehleausführen aus der debub.cfg rausnehmen und dynamisch machen. Die debug.cfg sieht dann wie folgt aus:

Code:
/usr/sbin/telnetd -l /sbin/ar7login   # Telnet an (Optionell kann auch und run.sh)

serverurl="192.168.x.x"                # Server
serverdir="/FBF"                         # Verzeichniss

while !(ping -c 1 $serverurl); do    # Pingen bis der Server antwortet
sleep 5
done

cd /var/tmp

wget http://$serverurl$serverdir/run.rar    # Lädt rar Paket mit allen Files
wget http://$serverurl$serverdir/unrar      # Lädt unrar zum entpacken

chmod +x /var/tmp/unrar      # Permission von unrar ändern
/var/tmp/unrar e run.rar       # Entpacken
rm run.rar                          # Löscht rar Paket
rm unrar                            # Löscht unrar

chmod +x /var/tmp/run.sh    # Permission des Scripts ändern
/var/tmp/run.sh                  # Übergabe an Script

rar Paket:

run.sh (muss enthalten sein) - Befehlsscript für alle folgenden Befehle nach debug.cfg - und weitere Dateien die benötigt werden zur ausführung von run.sh

Beispiel run.sh für SSH und FTP:

Code:
dropbearport="22"
PASSWD='HASH'
wolmac="01:23:45:67:89:AB"
wolinterface="eth0"

cd /var/tmp

cp -p /var/tmp/shadow /var/tmp/shadow.old
sed -e "/root:/s#^root:[^:]*:#root:$PASSWD:#" /var/tmp/shadow.old > /var/tmp/shadow

echo "/var/tmp/etherwake -i $wolinterface $wolmac" > var/tmp/startpc

chmod +x /var/tmp/dropbear
chmod +x /var/tmp/busybox
chmod +x /var/tmp/bftpd
chmod +x /var/tmp/startpc
chmod 777 /var/tmp/bftpd.conf

ln -s /var/tmp/dropbear dropbearkey
ln -s /var/tmp/busybox etherwake
ln -s /var/tmp/busybox uudecode
ln -s /var/tmp/busybox uuencode

echo "root:PASSHASH:0:0:root:/:/" >> /var/tmp/passwd
/var/tmp/bftpd -d -c /var/tmp/bftpd.conf

/var/tmp/uudecode -o /var/tmp/dropbear_rsa_host_key <<\EOP
begin 600 /var/tmp/dropbear_rsa_host_key

XXXXXXXXXXXXXXXXX

end
EOP

/var/tmp/uudecode -o /var/tmp/dropbear_dss_host_key <<\EOP
begin 600 /var/tmp/dropbear_dss_host_key

XXXXXXXXXXXXXXXXX

end
EOP

/var/tmp/dropbear -p $dropbearport -r /var/tmp/dropbear_rsa_host_key -d /var/tmp/dropbear_dss_host_key

rar Paket in diesem fall:

bftpd
busybox
dropbear
bftpd.conf
run.sh

auf dem Server befindliche Dateien:

run.rar
unrar

Vorteile:

* Fast alle variablen (bis auf Server daten) sind auserhalb der debug.cfg und können bequem über run.sh verändert werden.
* Alle benötigten Dateien werden mit run.rar heruntergeladen und müssen nicht einzeln mit wget besorgt werden.

Ich habe das auf einer FRITZ!Box Fon WLAN und einer FRITZ!Box Fon WLAN 7170 getestet. Die rar kompression sollte auf "Normal" bleiben da sonst der Speicher nicht reicht. Kann aber auch ganz weggelassen werden wenn man tar verwendet.

Nun sagt mal was ihr davon haltet...

Ja mir fällt auch grade auf das man die SSH-Schlüssel ebenfalls in die rar packen kann... spart etwas Scriptlänge...
 
Zuletzt bearbeitet:
Warum so kompliziert? Zumindest bei der 7170 tut's auch ein USB-Stick, um die Dateien aufzunehmen. Einfach in der debug.cfg warten bis USB-Stick gemountet ist und danach das Script vom USB-Stick aufrufen...
 
ja genau das is es ja usb stick hin wenn was geändert werden soll zurück...
und bei der FBF WLAN gehts nich mal mit usb stick...
 
Einer der Vorteile scheint ja auch die Komprimierung zu sein,
u.a. daher wäre hier ein Link/Hinweis, wo's einen rar für die Box gibt vielleicht ganz gut?
 
bitte sehr...

also es läuft auf den klassischen boxen und anscheienn auch auf der 7170...
naja und wie gesagt die kompression sollte normal bleiben sonst:

Not enough memory
Program aborted
 

Anhänge

Hallo bin noch ein Newbie,
wie weit müßte die debug.cfg abgeändert werden, damit die Dateien vom USB-Stick aufgenommen werden, würde mich über ein bsp. freuen.

Danke im Vorraus
 
so ungefähr:

Code:
/usr/sbin/telnetd -l /sbin/ar7login   # Telnet an (Optionell kann auch in run.sh)

cd /dev/media/USB    # Ich weiß nicht mehr genau wo USB platten hin gemounted werden (die zeile muss glaube ich garnicht sein)

chmod +x /dev/media/USB/run.sh     # Permission von run.sh ändern

/dev/media/USB/run.sh                  # Übergabe an Script

alles weitere packst du dann helt in run.sh rein...
achja bevor das verzeichniss geändert wird solltest du vll noch ne warteschleife einabuen (zum warten bis das laufwerk eingebunden wurde) hab jetzt keine parat musst mal suchen...
 
USB-Speicher wird nach /var/media/ftp montiert. Ich mache in meiner debug.cfg sowas:
Code:
# warten bis USB-Stick mountet
sleep 60

# evtl. vorhandenes Script "boot"
# auf evtl. vorhandenen USB-Sticks ausfuehren

for f in /var/media/ftp/*/fritz!box/boot.cfg
do
        $f
done

Tschö, Jojo
 
Kostenlos!

Statistik des Forums

Themen
247,210
Beiträge
2,263,847
Mitglieder
375,704
Neuestes Mitglied
kukus