Linux


WRT54GEs geht manchmal schneller als man denkt, das die Firmware eines GerÀts defekt wird. Da ich die DD-WRT Firmware aufgrund der erweiterten Funktionspalette anstatt der regulÀren von Linksys aufspielen wollte, habe ich den Router entsprechend geflashed und die Firmware aufgespielt. Da der WRT54G auf Linux basiert wollte ich auch endlich eine Firmware haben, bei der ich in der Shell auch selbst machen kann, worauf ich Lust habe ;-)

Der Telnetzugang war auch gleich möglich, nur die Web-GUI war mit Standardlogindaten nicht nutzbar. SĂ€mtliche Loginversuche schlugen fehl. Daher habe ich den Router neu gestartet, durch langes DrĂŒcken von Reset auf auf Werkseinstellungen zurĂŒckgesetzt und dabei ist die Firmware wohl hops gegangen. Kein Anpingen, gar nichts war mehr möglich. Lediglich auf die plötzlich nur noch nervös aber regelmĂ€ĂŸig blinkende Power-Diode war verlass…

Die Möglichkeit per tftp die Firmware neu aufzuspielen hatte ich leider nicht, da ich boot_wait nicht gleich richtig gesetzt hatte. Scheinbar kommt so etwas ja mehreren Leuten vor, aber so wirklich weitergeholfen haben mir nur die Seiten von Skynet, welche auf Deutsch die Fehler schön beschreibt (aber ich wollte nicht gleich mit dem Lötkolben basteln gehen…) und vor allem Void Main’s WRT54G Tip.

Arbeiten auf der PlatineAuch wenn die Methode rabiat erscheint, sie hat funktioniert.
Auch wenn etliche andere Seiten davor gewarnt haben, ein Versuch war es mir wert. GehĂ€use geöffnet, PINs kurzgeschlossen, nach ein paar Versuchen lief die Kiste wieder…
Inzwischen lÀuft der fast schon aufgegebene Router einwandfrei mit DD-WRT.

Trotz des kleinen Ärgers und der verlorenen Zeit habe ich die Umstellung nicht bereut. Jeder braucht eben sein Spielzeug ;-)

Aber der Satz Never change a running system wurde mir einmal mehr sehr schnell klar. Denn gerade dann, wenn es mal schnell ein Server- oder Software- oder Firmware-Update sein soll, kann es nur schief gehen. Murphys Law lĂ€sst grĂŒĂŸen…

Hier ein kleines Script, was dazu benutzt werden kann, tĂ€glich alle SQL Tabellen zu optimieren und fĂŒr ein Backup zu archivieren.

Shellscript z.B. per Cronjob tĂ€glich ausfĂŒhrbar… Datei sollte auf Read-Only fĂŒr ROOT gesetzt werden, da das Root-SQL Passwort im Klartext zu entnehmen ist. Übernahme auf eigene Gefahr, keine GewĂ€hrleistung auf Funktion!

Cronjob-Zeile (Bsp.): 33 02 * * * sh /root/opt_backup_sql.sh > /dev/null 2>&1

Code fĂŒr /root/opt_backup_sql.sh:

# little MySQL script - optimize and backup tables...
b="/tmp/sqlbackup" # backup directory
PWD="blubb" # root passwort for sql table dump statemend
# nothing below has to be changed
MOVETO=”/backup” # directory where backup should be placed in
logger “sql opt and backup: starting”
export d=$(date +%Y%m%d)
mkdir -p $b
mkdir -p $b/$d
for a in `echo “show databases” | mysql -uroot -p$PWD |grep -v Database`;
do
mkdir -p $b/$d/$a
for i in `echo “show tables” | mysql -uroot -p$PWD $a|grep -v Tables_in_`;
do
echo “optimize table $i” | mysql -uroot -p$PWD $a|grep -v Msg_text;
mysqldump –add-drop-table –allow-keywords -q -a -c -uroot -p$PWD $a $i > $b/$d/$a/$i.sql
rm -f $b/$d/$a/$i.sql.gz
gzip $b/$d/$a/$i.sql
done
done
`tar cf $d.db.tar $b`
`gzip $d.db.tar`
rm -rf $b
mv $d.db.tar.gz $MOVETO
logger “sql opt and backup: done”

Links: CMS-Programmierung (Zikula): iFS-net.de