Lupuz.de: Artikel-Portal / Magazin

Zurück   Postpla.net - die Forum Community > PC, Internet und Technik > Coder's Area

Batch-Programmierung: Rsync Aufruf

Anzeigen:

Thema geschlossen
 
Themen-Optionen Thema durchsuchen
Dreamseller
Alt 18.01.2007, 12:01   #1
Standard Batch-Programmierung: Rsync Aufruf

Hi,

habe folgendes Problem. Habe auf einem Windows-Rechner Cygwin installiert um bestimmte Daten per Rsync zu sichern. Das Ganze wird über eine .bat-Datei aufgerufen und klappt soweit auch wunderbar. Das Problem liegt im Versenden der Mails die darüber Auskunft geben sollen, ob der Job geklappt hat oder nicht. Das Versenden der Mails an sich ist nicht das Problem. Das funktioniert über ein selbsterstelltes Programm. Was allerdings nicht klappt ist die Unterscheidung zwischen "Job = OK" und "Job = Fehlgeschlagen". Also meine Frage: "Wie kann ich in der .bat-Programmieren das er im Falle eines erfolgreichen Ablaufs, eine Mail verschickt und im Falle eines fehlgeschlagenen Ablaufs eine andere?" Sollte dann in etwas so aussehen:

IF "Vorgang korrekt abgeschlossen"
then
"sende mail = OK"
else
"sende mail = Error"

Also das Problem liegt nicht im versenden, sondern in der Unterscheidung der beiden Fälle. Wie bekomm ich das in eine korrekte Syntax?

Für Antworten wär ich dankbar.


mfg

Dreamseller
 
 
Nach oben
baedr
Alt 18.01.2007, 12:12   #2
Standard

Da ist das bat-system leider etwas beschränkt... du könntest eine systemvariable (z.B. %job%) auf "ok" oder "failed" setzen, und dann in der bat abfragen mit:

if "%job%"=="ok" goto Ok
if "%job%"=="failed" goto failed

:failed
echo Versenden Fehlgeschlagen (hier fehlgeschlagen-code einfügen)
goto end

:Ok
echo Versenden erfolgreich (hier ok-code einfügen)

:end


Eine Andere Methode wäre, für jeden fall per programm eine (leere) datei zu erstellen, dessen Existenz dann mit

If exist "C:\ok.job" goto ok abgefragt wird... ist allerdings keine besonders tolle lösung.

edit: "then" und "else" gibt es übrigens nicht, du musst alles mit "goto" machen

Geändert von baedr (18.01.2007 um 12:20 Uhr).
 
 
Nach oben
Dreamseller
Alt 18.01.2007, 13:29   #3
Standard

Schonmal danke für die Vorschläge. Aber die erste Lösung scheitert doch daran, da ich eben nicht weiss, wie ich festmachen soll, ob jetzt alles ok war oder nicht?!

Die zweite Lösung war mich auch in den Sinn gekommen. Du weisst aber nicht zufällig wie ich dem rsync sage, das er bei gelingen eine solche Datei erstellen soll oder?

mfg

Dreamseller
 
 
Nach oben
baedr
Alt 18.01.2007, 14:04   #4
Standard

Du weisst aber nicht zufällig wie ich dem rsync sage, das er bei gelingen eine solche Datei erstellen soll oder?
kenn mich mit dem programm leider gar nicht aus... vielleicht wird aber bei einem Fehler ein logfile erstellt... so überprüft die bat-datei die existenz dieser log-datei, schickt dir ne e-mail, und kopiert die logdatei woanders hin(oder löscht sie), damits beim nächsten mal auch wieder funktioniert.

if exist "c:\blabla.log" goto fail
if not exist "C:\blabla.log" goto Ok
:Ok
Anweisung email versenden, alles ok
goto end
:fail
del C:\blabla.log
anweisung email versenden, dumm gelaufen
:end


is halt irgendwie hingestümpert, und nichts gescheites
 
 
Nach oben
Registrierter PPler
Anonymisierungsmodus aktiv!
Alt 18.01.2007, 14:49   #5
Standard

ich bin mir sicher man kann rsync so aufrufen, dass es nur dann ausgabe gibt, wenn etwas nicht stimmt. dann bastelst dir ein shellscript drum rum cygwin kann das.
 
 
Nach oben
Wodar Hospur
Alt 18.01.2007, 17:03   #6
Standard

Ja, schreib ein bashscript ,das ruft dann die unterschiedliche .bat datein auf.

auch solltest du dir überlegen wie du es überprüfen kannst. normalerweise gibt jedes unixprogramm einen rückgabewert der besagt ob es probleme gab oder nicht.
 
 
Nach oben
Ähnliche Themen, die dich vielleicht interessieren
Thema Autor Forum Antworten Letzter Beitrag
Aufruf zur Demonstration - "Freiheit statt Angst" Anarchnophobia Politik und Gesellschaft 9 09.08.2007 14:37
Aufruf aus USA ---> Informationsverbreitung Bofinger Politik und Gesellschaft 13 05.04.2003 18:41
Assambler - Programmierung Smain Coder's Area 2 29.05.2002 17:53
socket programmierung tut Gothmogh Coder's Area 2 22.05.2002 14:27
Aufruf zum Kampf gegen Zensur! dian Politik und Gesellschaft 6 17.05.2002 20:17
Anzeigen:
Thema geschlossen

Lesezeichen

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche



Alle Zeitangaben in WEZ +2. Es ist jetzt 04:23 Uhr.


Lupuz.de - wir können auch anders!
©1998 - 2008, Lupuz:Information-Network
Powered by vBulletin Version 3.7.1 (Deutsch), Jelsoft Enterprises Ltd.
Grüne Links?

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.