 |  | | | | | | | | |  |  | | | | | Moderator
Status: Offline Beiträge: 1,376 Registriert seit: 05.08.2003 Ort: Im Schoenen Luzern Alter: 27 | Shell Scribt und Spammails -
12.04.2007, 15:33
Hallo Zusammen
Kann mir wer bei einem kleinen shell scribt helfen, ich bin wirklich shell und Linux noob allso bitte schon langsam. Ich mochte aus dem verzeichniss "/var/virusmails/spam/" alle spam-2b80a84ff1fcebfe0aee71cd3aef11d8-20070412-104802-08737-06.gz filese durchsucen und dort die zeile From, Subject und To auslesne und diese dan auf dem Screen ausgeben (oder noch viel geiler als txt datei). leder bekomme ich immer vollgende meldung wen ich es mit "sh" starte bekomme ich diese meldung (sihe Error weiter unten ).
gruss und Danke fur die hilfe
Konrad
PS: wens nicht kapbt gibts heute abend kein
cd /pub
more biere
:-)
Skribt
################################################## #############
# spam_notifier.sh
# Spam Notifier
#
# liest From, Subject und To aus gespeicherten Spam-Mails
#
# Voraussetzung: Spam-Dateien muessen als gz gespeichert sein
# (beispielsweise in Amavis-SpamAssassin-Umgebungen)
#
# 070712
################################################## #############
echo Spam-Report von $HOSTNAME
date
echo
for spamfile in $(find /var/virusmails/spam/ -name 'spam*' -mtime -1)
do
echo -------------------------------------
echo $spamfile
gunzip -c $spamfile | egrep '^From:|^Subject:|^To:'
done
Error
ns:/usr/sbin # sh postfix-spam
: command not found12:
Spam-Report von ns
: command not found14:
: command not found15:
: command not found16: date
: command not found17:
: command not found18:
: command not found20:
: command not found21:
'ostfix-spam: line 23: syntax error near unexpected token `
'ostfix-spam: line 23: CNE, CNA auf OES / Netware 6 / 6.5
CCA, auf MPS 4
PC-LAN SIZ
Zusammen schaffen wir es!!!
Geändert von DjSpock (12.04.2007 um 15:37 Uhr).
Grund: Hatte was vergessen
| | | | | Links zum gleichem Thema: | | | | | | | Profi Benutzer
Status: Offline Beiträge: 589 Registriert seit: 22.03.2004 Ort: Raum Zürich Alter: 23 | AW: Shell Scribt und Spammails -
12.04.2007, 23:05
Hallo DjSpock!
Als erstes musst du man in der obersten Zeile folgendes drin stehen haben => #!/bin/bash (eigentlich kein müssen, aber wenn du das script autmatisch ausführen lassen willst usw. verhinderst du dadurch lästige fehler)
Damit gibst du den Script an, welche Shell es aufzurufen hat. So kannst zwischen diversen Shells wechseln, da es verschiedene Shells mit unterschiedlichen Befehlssatz gibt. Ich empfehle dir #!/bin/bash weil diese Shell sehr viele Befehle kennt und einsetzt. Auf Linux Systemen ist die /bin/sh meistens sogar einfach nur auf /bin/bash gelinkt, von demher kannst du es gleich so machen.
Somit komm ich mal zu folgendem Output: Code: maverick@primus:~$ ./test.sh
Spam-Report von primus
Thu Apr 12 23:03:01 CEST 2007
find: /var/virusmails: No such file or directory
Den restlichen Code schau ich mir gerade an und versuche ein Beispiel nach zubauen  .
Cya l8ter  [Hier könnte Ihre Werbung stehen! Banner, Links, IntelliTXT, was das Herz begehrt!]
Geändert von Maverick (12.04.2007 um 23:37 Uhr).
| | | | | | | | Profi Benutzer
Status: Offline Beiträge: 589 Registriert seit: 22.03.2004 Ort: Raum Zürich Alter: 23 | AW: Shell Scribt und Spammails -
12.04.2007, 23:23
Code: #!/bin/bash
################################################## #############
# spam_notifier.sh
# Spam Notifier
#
# liest From, Subject und To aus gespeicherten Spam-Mails
#
# Voraussetzung: Spam-Dateien muessen als gz gespeichert sein
# (beispielsweise in Amavis-SpamAssassin-Umgebungen)
#
# 070712
################################################## #############
echo Spam-Report von $HOSTNAME
date
echo
for spamfile in $(find virusmails/spam/* -name 'spam*' -mtime -1)
do
echo -------------------------------------
echo $spamfile
gunzip -c $spamfile | egrep '^From:|^Subject:|^To:'
done
Code: maverick@primus:~/test$ ./spam.sh
Spam-Report von primus
Thu Apr 12 23:24:18 CEST 2007
-------------------------------------
virusmails/spam/spam1.gz
From: scotty
Subject: Whisky
To: zulu
-------------------------------------
virusmails/spam/spam2.gz
From: spock
Subject: reactor
To: kirk
Soweit funktioniert es schon mal, nun schau ich mir das noch mit der Ausgabe in eine Textdatei an  . [Hier könnte Ihre Werbung stehen! Banner, Links, IntelliTXT, was das Herz begehrt!]
Geändert von Maverick (12.04.2007 um 23:40 Uhr).
| | | | | | | | Profi Benutzer
Status: Offline Beiträge: 589 Registriert seit: 22.03.2004 Ort: Raum Zürich Alter: 23 | AW: Shell Scribt und Spammails -
12.04.2007, 23:29
So fertig, aber ich muss dir sagen, dass es natürlich nicht wirklich sauber programmiert ist. Nur mal schnell um dir das zu zeigen, wie du es machen könntest: Code: #!/bin/bash
################################################## #############
# spam_notifier.sh
# Spam Notifier
#
# liest From, Subject und To aus gespeicherten Spam-Mails
#
# Voraussetzung: Spam-Dateien muessen als gz gespeichert sein
# (beispielsweise in Amavis-SpamAssassin-Umgebungen)
#
# 070712
################################################## #############
echo Spam-Report von $HOSTNAME
date
echo
for spamfile in $(find virusmails/spam/* -name 'spam*' -mtime -1)
do
echo ------------------------------------- >> output.log
echo $spamfile >> output.log
gunzip -c $spamfile | egrep '^From:|^Subject:|^To:' >> output.log
done
cat output.log
echo ""
echo "Output redirected to output.log" So würde es aussehen: Code: maverick@primus:~/test$ ./spam.sh
Spam-Report von primus
Thu Apr 12 23:29:35 CEST 2007
-------------------------------------
virusmails/spam/spam1.gz
From: scotty
Subject: Whisky
To: zulu
-------------------------------------
virusmails/spam/spam2.gz
From: spock
Subject: reactor
To: kirk
Output redirected to output.log
Code: maverick@primus:~/test$ cat output.log
-------------------------------------
virusmails/spam/spam1.gz
From: scotty
Subject: Whisky
To: zulu
-------------------------------------
virusmails/spam/spam2.gz
From: spock
Subject: reactor
To: kirk
maverick@primus:~/test$
Das ganze Funktioniert auf einem aktuellen Linux System (Arch Linux 0.8 - Kernel 2.6.20-CK). Sollte es bei dir nicht funktionieren, dann sag mir bitte, was du für ein Linux oder Unix verwendest. [Hier könnte Ihre Werbung stehen! Banner, Links, IntelliTXT, was das Herz begehrt!]
Geändert von Maverick (12.04.2007 um 23:41 Uhr).
| | | | | | | | Moderator
Status: Offline Beiträge: 1,376 Registriert seit: 05.08.2003 Ort: Im Schoenen Luzern Alter: 27 | AW: Shell Scribt und Spammails -
13.04.2007, 14:33
Hallo Maverick
Zuerst mal 1000 dank für die antwort, leider will es immer noch nicht. :-(
wen ich das skribt starte mit sh bekomme ich nun diese ausgabe auf der consolle . Code: ns:/usr/sbin # sh postfix-spam
: command not found2:
Spam-Report von ns
: command not found15: date
: command not found16: echo
'ostfix-spam: line 18: syntax error near unexpected token `do
'ostfix-spam: line 18: `do
Du sagest ich solle noch die linuxversion posten, ok nur wie finde ich diese heraus ? wie gesagt ich bin in linux noch ein anfänger.
gruss Konrad CNE, CNA auf OES / Netware 6 / 6.5
CCA, auf MPS 4
PC-LAN SIZ
Zusammen schaffen wir es!!! | | | | | | | | Profi Benutzer
Status: Offline Beiträge: 589 Registriert seit: 22.03.2004 Ort: Raum Zürich Alter: 23 | AW: Shell Scribt und Spammails -
13.04.2007, 18:00
Zitat:
Zitat von DjSpock Hallo Maverick
Zuerst mal 1000 dank für die antwort, leider will es immer noch nicht. :-(
wen ich das skribt starte mit sh bekomme ich nun diese ausgabe auf der consolle . Code: ns:/usr/sbin # sh postfix-spam
: command not found2:
Spam-Report von ns
: command not found15: date
: command not found16: echo
'ostfix-spam: line 18: syntax error near unexpected token `do
'ostfix-spam: line 18: `do
Du sagest ich solle noch die linuxversion posten, ok nur wie finde ich diese heraus ? wie gesagt ich bin in linux noch ein anfänger.
gruss Konrad | Probier es mal mit "bash postfix-spam" zu starten.
und mit folgendem befehl solltest du eigentlich informationen über dein OS bekommen => "cat /etc/*release" [Hier könnte Ihre Werbung stehen! Banner, Links, IntelliTXT, was das Herz begehrt!] | | | | | | | | Moderator
Status: Offline Beiträge: 1,376 Registriert seit: 05.08.2003 Ort: Im Schoenen Luzern Alter: 27 | AW: Shell Scribt und Spammails -
13.04.2007, 19:23
Danke für die antwort
Ok die Version ist:
SuSE Linux 9.0 (i586)
VERSION = 9.0
habe es jetzt auch mit bash probiert hat leider auch nichts gebaracht. muss ich beim scribt noch irgenwelche berecghtigugen setzten im moment ist 0744 drauf. und es liegt im \usr\sbin\
Gruss Koni CNE, CNA auf OES / Netware 6 / 6.5
CCA, auf MPS 4
PC-LAN SIZ
Zusammen schaffen wir es!!! | | | | | | | | Profi Benutzer
Status: Offline Beiträge: 589 Registriert seit: 22.03.2004 Ort: Raum Zürich Alter: 23 | AW: Shell Scribt und Spammails -
13.04.2007, 20:03
Zitat:
Zitat von DjSpock Danke für die antwort
Ok die Version ist:
SuSE Linux 9.0 (i586)
VERSION = 9.0
habe es jetzt auch mit bash probiert hat leider auch nichts gebaracht. muss ich beim scribt noch irgenwelche berecghtigugen setzten im moment ist 0744 drauf. und es liegt im \usr\sbin\
Gruss Koni | Ich habe echt keine Ahnung warum es nicht funktioniert. Wenn es im /usr/bin ist (/ nicht \), dann solltest du einfach nur postfix-spam eingeben können. also den namen vom programm, enter und es sollte starten. Ohne bash oder sh vorne dran... Irgendwas stimmt bei dir nicht.
Kannst du mir mal ein Screenshot von deiner SSH Console machen? auch gleich mal mit einem Screeny, wo du den inhalt deines Scriptes ausgibts? => cat /usr/bin/postfix-spam [Hier könnte Ihre Werbung stehen! Banner, Links, IntelliTXT, was das Herz begehrt!]
Geändert von Maverick (13.04.2007 um 20:54 Uhr).
| | | | | | | | Super Profi Benutzer
Status: Offline Beiträge: 2,161 Registriert seit: 28.09.2004 Ort: Wettswil am Albis Alter: 29 | AW: Shell Scribt und Spammails -
13.04.2007, 22:46
Zitat:
Zitat von DjSpock Hallo Maverick
Zuerst mal 1000 dank für die antwort, leider will es immer noch nicht. :-(
wen ich das skribt starte mit sh bekomme ich nun diese ausgabe auf der consolle | Ich hatte schon mal den Fall, dass sh anders reagierte, als das Script direkt zu starten.
Koni, gib mal "chmod +x spam_notifier.sh" ein und starte dann das Script mit "./spam_notifier.sh".
Achte auch darauf, dass "#!/bin/bash" unbedingt in der ersten Zeile des Scripts steht und nicht etwa in der zweiten oder dritten Zeile unter einem Zeilenumbruch.
bis bald
Kermit | | | | | Links zum gleichem Thema: | | | | | | | Profi Benutzer
Status: Offline Beiträge: 589 Registriert seit: 22.03.2004 Ort: Raum Zürich Alter: 23 | AW: Shell Scribt und Spammails -
13.04.2007, 23:14
Zitat:
Zitat von kermit Ich hatte schon mal den Fall, dass sh anders reagierte, als das Script direkt zu starten.
Koni, gib mal "chmod +x spam_notifier.sh" ein und starte dann das Script mit "./spam_notifier.sh".
Achte auch darauf, dass "#!/bin/bash" unbedingt in der ersten Zeile des Scripts steht und nicht etwa in der zweiten oder dritten Zeile unter einem Zeilenumbruch.
bis bald
Kermit | Wenn er es mit bash vornedran ausführt, würde es genau diesen Effekt geben. Das ist der Grund, warum es mich so stuzig macht  . [Hier könnte Ihre Werbung stehen! Banner, Links, IntelliTXT, was das Herz begehrt!] | | | | | | | | Moderator
Status: Offline Beiträge: 1,376 Registriert seit: 05.08.2003 Ort: Im Schoenen Luzern Alter: 27 | AW: Shell Scribt und Spammails -
14.04.2007, 15:49
Hallo Zusammen
Es Geht, Es Lebt, Es Shellt. Nach ca 4 Stunden 6 Tassen Kaffe, 1 Tafel Schokolade geht es jetzt. Danke Mav & Kermit.
Hier noch schnell das vertige scribt und die Lösung: Code: #!/bin/bash
################
# 070413 KoD #
# postfix-spam #
################
for spamfile in $(find /var/virusmails/spam/ -name 'spam*' -mtime -1)
do
gunzip -c $spamfile | egrep '^From:|^Subject:|^To:' >>postfix-spaminfo.txt
echo '---------------' >>postfix-spaminfo.txt
done
der haupstfehler war warscheindlich der faltsche pfad "/var/virusmails/spam/". Das 2te groose probelm war das ich das Scribt im notepad gemacht habe und auf die Linux kiste kopiert habe und es irdenwie Unbekante zeichen drin hatte in den lehren zeillen.
Am Montag nehme ich mir dan den cron job fohr hoffe das geht dan etwas besser. nochmals DANKE für die tolle hilfe
Gruss Koni CNE, CNA auf OES / Netware 6 / 6.5
CCA, auf MPS 4
PC-LAN SIZ
Zusammen schaffen wir es!!! | | | | | | | | Profi Benutzer
Status: Offline Beiträge: 589 Registriert seit: 22.03.2004 Ort: Raum Zürich Alter: 23 | AW: Shell Scribt und Spammails -
15.04.2007, 00:46
Zitat:
Zitat von DjSpock Hallo Zusammen
2te groose probelm war das ich das Scribt im notepad gemacht habe und auf die Linux kiste kopiert habe und es irdenwie Unbekante zeichen drin hatte in den lehren zeillen. | Deswegen wollte ich ein cat Screenshot :P! UTF8 != ISO Zitat:
Am Montag nehme ich mir dan den cron job fohr hoffe das geht dan etwas besser. nochmals DANKE für die tolle hilfe
Gruss Koni
| Das mit dem Cronjob ist total easy und keine Ursache, ich helf eigentlich immer gerne  .
Ps. Du kannst den Inhalt auch eigentlich per Mail an dich schicken, dann hast du einen schönen Automatismus. Geht alles sehr einfach per Shell Scripting  . [Hier könnte Ihre Werbung stehen! Banner, Links, IntelliTXT, was das Herz begehrt!] | | | | |
| | |