BastardBenny
25-08-2008, 10:12
Hallo!
Ich habe erst vor kurzem mit Linux angefangen.
Jetzt habe ich ein Problem mit einer Aufgabe die man mir gegeben hat...
Beim Start von Linux soll immer Automatisch TCPDUMP ausgeführt werden mit folgenden Parametern:
Schnittstelle: eth0; In Datei /root/tcpdump/traffic.cap schreiben; Die Datei darf max. 50MB gross sein.
Nicht mehr als 10 Versionen des Files dürfen erstellt werden. Mit einem Script prüfen, und wenn 10 Dateien im Ordner sind, diese auf einen Windowsserver kopieren (FTP) und die alten löschen.
(Im Moment nehme ich noch WinSCP um die Datei zu prüfen)
Ich habe zuerst
tcpdump –i eth0 –w /root/tcpdump/traffic.cap –C 50
in die Datei /etc/rc.d/rc.local geschrieben, damit tcpdump automatisch beginnt aufzuzeichnen, wenn ich Linux starte.
Dann habe ich mit einem Skript begonnen, das prüft wieviel Files im Ordner sind und wenn es 10 sind, diese auf den FTP server überträgt.
#!/bin/bash
echo Files im Verzeichnis:
find /root/tcpdump/ -iname '*.cap*' -type f | wc -l
#gibt an wieviele .cap Dateien bereits im Verzeichnis sind
echo
T1=$(find /root/tcpdump/ -iname '*.cap*' -type f | wc -l)
if [ "$T1" -gt 10 ]; then
ftp -n xx.xx.x.xx <<!
quote user Test
quote pass test1234
binary
put /root/tcpdump/test.txt /FTP/Backup/test.txt
quit
else
echo kleiner 10
fi
Leider kommt die Fehlermeldung:
[root@websafe-FeelGood tcpdump]# /root/tcpdump/copy.txt
Files im Verzeichnis:
11
/root/tcpdump/copy.txt: line 17: syntax error: unexpected end of file
-----------
Was ich auch noch machen sollte ist, die Daten jeweils in einen Ordner verschieben, der das aktuelle Datum als Ordnername hat!
Ich hoffe ihr könnt mir etwas helfen.
Ich update immerwieder diesen Post wenn ich irgendwo weitergekommen bin...
mhm...ich beschäftige mich erst seit 3 tagen mit Bash... :(
Vielen Dank!
Benny
Ich habe erst vor kurzem mit Linux angefangen.
Jetzt habe ich ein Problem mit einer Aufgabe die man mir gegeben hat...
Beim Start von Linux soll immer Automatisch TCPDUMP ausgeführt werden mit folgenden Parametern:
Schnittstelle: eth0; In Datei /root/tcpdump/traffic.cap schreiben; Die Datei darf max. 50MB gross sein.
Nicht mehr als 10 Versionen des Files dürfen erstellt werden. Mit einem Script prüfen, und wenn 10 Dateien im Ordner sind, diese auf einen Windowsserver kopieren (FTP) und die alten löschen.
(Im Moment nehme ich noch WinSCP um die Datei zu prüfen)
Ich habe zuerst
tcpdump –i eth0 –w /root/tcpdump/traffic.cap –C 50
in die Datei /etc/rc.d/rc.local geschrieben, damit tcpdump automatisch beginnt aufzuzeichnen, wenn ich Linux starte.
Dann habe ich mit einem Skript begonnen, das prüft wieviel Files im Ordner sind und wenn es 10 sind, diese auf den FTP server überträgt.
#!/bin/bash
echo Files im Verzeichnis:
find /root/tcpdump/ -iname '*.cap*' -type f | wc -l
#gibt an wieviele .cap Dateien bereits im Verzeichnis sind
echo
T1=$(find /root/tcpdump/ -iname '*.cap*' -type f | wc -l)
if [ "$T1" -gt 10 ]; then
ftp -n xx.xx.x.xx <<!
quote user Test
quote pass test1234
binary
put /root/tcpdump/test.txt /FTP/Backup/test.txt
quit
else
echo kleiner 10
fi
Leider kommt die Fehlermeldung:
[root@websafe-FeelGood tcpdump]# /root/tcpdump/copy.txt
Files im Verzeichnis:
11
/root/tcpdump/copy.txt: line 17: syntax error: unexpected end of file
-----------
Was ich auch noch machen sollte ist, die Daten jeweils in einen Ordner verschieben, der das aktuelle Datum als Ordnername hat!
Ich hoffe ihr könnt mir etwas helfen.
Ich update immerwieder diesen Post wenn ich irgendwo weitergekommen bin...
mhm...ich beschäftige mich erst seit 3 tagen mit Bash... :(
Vielen Dank!
Benny