Stefan Kleeschulte wrote at Wednesday, August 31, 2005 8:51 PM
Aber wie bekomme ich es jetzt hin, dass das Skript ausgeführt wird, bevor das firewall-Log gelöscht wird? Und wie kann ich das Ausführen später wieder deaktivieren? (Dazu reichen meine Linux-Kenntnisse leider noch nicht aus...)
Nimm folgendes Skript: (Achtung: ALLES _zwischen_ ### Skriptanfang und ### Skriptende (ohne die beiden ;-)) also von #!/binsh bis rc_exit gehört da hinein, auch wenn manches wie Kommentar ausschaut!! ### Skriptanfang #! /bin/sh ### BEGIN INIT INFO # Provides: Backup Firewall log # Required-Start: $ALL # Should-Start: # Required-Stop: $ALL # Should-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: Backup firewall log # Description: Start FOO to allow XY and provide YZ ### END INIT INFO . /etc/rc.status # Reset status of this service rc_reset case "$1" in start) echo -n "Dummy start backup firewall log - do nothing ;-)" rc_status -v ;; stop) echo -n "Backup firewall log" cp /var/log/firewall /root/firewall rc_status -v ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac rc_exit ### Skriptende Und kopiere es statt Deines Skriptes in /etc/init.d, zum Beispiel als "fireback", damit's nicht so lang ist ;-). Danach machst Du ein "insserv /etc/init.d/fireback" und startest es der Ordnung halber einmal mit "/etc/init.d/fireback start". Beim starten wird es nichts tun, ausser den eigenen Status setzen. Aber beim herunterfahren sollte es dann zuallererst (so hoffe ich) Dein Log kopieren. Kontrolliere vorher sicherheitshalber, ob in /etc/init.d/rcX.d, wobei X Dein Runlevel - ich nehm mal an "3" ist - ob durch inssserv entsprechende Symlinks mit SXXfireback und KXXfireback erstellt wurden. Durch $ALL in der INIT INFO sollte gewährleistet sein, dass die höchstmögliche Start- und die niedrigstmögliche Killfolge vergeben wurden. Bin mal gespannt, ob es funkioniert, denn ich verstehe immer noch nicht ganz, wo das Firewall-Log hinkommt. Nun gut und dann muss es auch noch verwertbare Informationen bringen ...
Also die Maschine ist ein VPS und ist bei meinem ISP gehostet. Das Rettungssystem funktioniert folgendermaßen: Das eigentliche System wird heruntergefahren und anstelle dessen ein Standard-Suse-9.1 gebootet. In diesem System sind dann die Dateien des eigentlichen Systems unter /repair gemountet. Entsprechend habe ich also z.B. die Datei 'backup_firewall_log' im Rettungssystem unter /repair/etc/init.d angelegt. Starten und Stoppen kann ich das ganze über ein Webinterface (Virtuozzo).
Aaah jetzt ist alles klar .... HTH Regards, Markus