Liebes Forum,
vorweg ersteinmal möchte ich sagen, dass ich ein absoluter Neuling bei Linux bin. Folgende Frage habe ich:
Wir müssen einmal am Tag ca. 5 Dateien starten, dies muss manuell geschehen. Besteht nun hier die Möglichkeit diese Dateien gleichzeitig laufen zu lassen? Wenn ja, wie kann man dies erreichen? Die Dateien müssten nur auf der Konsole laufen, da sie keine direkte Ausgabe haben bzw. nur Text oder Fehlermeldungen.
Danke für Eure Hilfe
Gruss
RON
Dateien gleichzeitig öffnen
Selbstverständlich kann man "Dateien" (= Shellscripts?) "gleichzeitig" laufen lassen - so viele Du willst. Und das ganze sowohl manuell wie auch automatisch (via crontab).
Wenn Du ein paar mehr Infos nennst, kannst Du auch mehr Infos bekommen - nur so ist es dermaßen abstrakt, dass weitergehende Hinweise nicht möglich sind.
Wenn Du ein paar mehr Infos nennst, kannst Du auch mehr Infos bekommen - nur so ist es dermaßen abstrakt, dass weitergehende Hinweise nicht möglich sind.
-
- Posts: 537
- Joined: 07. Dec 2003 21:07
- Location: Schweiz
Befehle im Hintergrund ausführen
Danke für Eure Hilfe.
Das mit den Befehlen funkioniert jetzt. Jetzt ergibt sich aber ein weiteres Problem. Ich möchte nachdem alle Befehle abgearbeitet wurden die Ausgabe sehen. Ist das möglich?
Beispiel:
ping www.domain.de &
ping www.domain2.de &
ping www.domain3.de &
Die Ausgabe wird mir direkt am Bildschirm angezeigt. Ich möchte diese aber erst sehen, wenn alle Befehle abgearbeitet wurden, oder wenigstens eine Meldung ausgeben, dass alle Befehle erledigt wurden.
Ist so etwas möglich?
Danke für Eure Hilfe
Gruss RON
Das mit den Befehlen funkioniert jetzt. Jetzt ergibt sich aber ein weiteres Problem. Ich möchte nachdem alle Befehle abgearbeitet wurden die Ausgabe sehen. Ist das möglich?
Beispiel:
ping www.domain.de &
ping www.domain2.de &
ping www.domain3.de &
Die Ausgabe wird mir direkt am Bildschirm angezeigt. Ich möchte diese aber erst sehen, wenn alle Befehle abgearbeitet wurden, oder wenigstens eine Meldung ausgeben, dass alle Befehle erledigt wurden.
Ist so etwas möglich?
Danke für Eure Hilfe
Gruss RON
Code: Select all
#!/bin/sh
# Jobs starten und Ausgabe in Dateien umlenken, danach ausgeben
nummer=1
for befehl in "ping www.domain.de" "ping www.domain2.de"; do
eval $befehl > ausgabe$nummer 2>&1 &
nummer=$[$nummer+1]
done
count=1
while [ "$count" -le "$nummer" ]; do
cat ausgabe$count
count=$[$count+1]
done
Hallo,
danke für Deine Nachricht. Das geht schon in die richtige Richtung. Aber ich habe Probleme mit diesem Skript. Ich habe das mal test.sh genannt. Wie kann ich das Skript jetzt ausführen?
Ist es auch möglich ein Perl Skript zu starten? Kann man die Ausgaben auch in eine einzige Datei schreiben -> hintereinander?
Sorry für die vielen Fragen, aber ich bin absoluter Newbie. Ich versuche schon alles über google usw. zu finden, aber so richtig findet man auch nix.
Tausend Dank und liebe Grüsse
RON
danke für Deine Nachricht. Das geht schon in die richtige Richtung. Aber ich habe Probleme mit diesem Skript. Ich habe das mal test.sh genannt. Wie kann ich das Skript jetzt ausführen?
Ist es auch möglich ein Perl Skript zu starten? Kann man die Ausgaben auch in eine einzige Datei schreiben -> hintereinander?
Sorry für die vielen Fragen, aber ich bin absoluter Newbie. Ich versuche schon alles über google usw. zu finden, aber so richtig findet man auch nix.
Tausend Dank und liebe Grüsse
RON
-
- prolinux-forum-admin
- Posts: 1444
- Joined: 26. Jun 2004 21:18
- Contact:
Lasse die einzelnen Befehle einfach als Stapeldatei ablaufen:
Das Zeichen > lenkt die Ausgabe in die nachstehende Datei um.
Existiert diese Datei nicht, wird sie angelegt.
Das Zeichen >> hängt die Ausgabe in der Datei, an evtl. schon bestehenden
Eintrag, an.
Shellscript ausführbar machen:
chmod +x script_name
Um die Logdatei zu lesen gibst du ein:
less name_logdatei
oder schreibst den Befehl einfach in das script (ans Ende) .
Dann wird die Logdatei nach Abarbeiten der
in deinem Beispiel ping-Befehle ausgegeben.
Das ganze ist im Prinzip ein Äquivalent zur
windoofschen Batchdatei.
MfG, Klopskuchen
Code: Select all
#!/bin/bash
Befehl >name_logdatei
Befehl >>name_logdatei
Befehl >>name_logdatei
Existiert diese Datei nicht, wird sie angelegt.
Das Zeichen >> hängt die Ausgabe in der Datei, an evtl. schon bestehenden
Eintrag, an.
Shellscript ausführbar machen:
chmod +x script_name
Um die Logdatei zu lesen gibst du ein:
less name_logdatei
oder schreibst den Befehl einfach in das script (ans Ende) .
Dann wird die Logdatei nach Abarbeiten der
in deinem Beispiel ping-Befehle ausgegeben.
Das ganze ist im Prinzip ein Äquivalent zur
windoofschen Batchdatei.
MfG, Klopskuchen
When all else fails, read the instructions .