rsync, sleep

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von majkel-bewit, 09.07.2009.

  1. #1 majkel-bewit, 09.07.2009
    majkel-bewit

    majkel-bewit Jungspund

    Dabei seit:
    07.08.2008
    Beiträge:
    13
    Zustimmungen:
    0
    Hallo zusammen,

    Ich schreibe ein Skript, das es rsync-Prozess startet, aber nur dann, wenn ein andere rsync-Prozess fertig ist. Wenn es schon ein Prozess gibt, dann versucht es noch einmal nach 30 Minuten.

    Meine Gedanken:
    RSYNC=`ps aux | grep rsync | wc -l`

    if [$RSYNC = 1] ; then
    rsync [Quelle] [Ziel]
    else
    sleep 1800
    echo "Warte 30 Minuten bis rsync fertig ist..."
    fi

    Bestimmt muss man while Schleife dazu benutzen, oder? Kann jemand das korrigieren?

    Danke im Voraus!!!
    Gruß
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 bytepool, 09.07.2009
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    wie ich selber hier gelernt habe, gibt es pgrep zum suchen nach laufenden Prozessen.

    Die while Schleife kannst du ja einfach um die if Abfrage packen, und in dem if statement noch eine vorher definierte boolean Variable auf wahr setzen, die dann von der while Schleife ueberprueft wird.

    Fuer Quellcode bitte Code-Bloecke verwenden.

    mfg,
    bytepool
     
  4. #3 majkel-bewit, 11.07.2009
    majkel-bewit

    majkel-bewit Jungspund

    Dabei seit:
    07.08.2008
    Beiträge:
    13
    Zustimmungen:
    0
    Danke für schnelle Antwort!!

    So sieht das funktionierende Skript aus.
     
  5. #4 bytepool, 11.07.2009
    Zuletzt bearbeitet: 11.07.2009
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    dazu noch schnell ein paar Anmerkungen und Tipps.

    Du hast jetzt statt Code-Bloecken Zitat-Bloecke genommen, das ist zwar schon eine leichte Verbesserung, macht aber u.a. Einrueckungen zunichte.

    Code:
    if [ `ps -ef | grep -c "ldap"` == "1" ]; then
    
    Ich denke nicht dass das funktioniert, [ ] kennt kein "==", sondern nur "=" oder "-eq". In diesem Fall waere ein numerischer Vergleich (-eq) wohl angebrachter.

    Aber, wie in meinem Link auch schon angedeutet, kannst du besser pgrep benutzen:
    Code:
    if [ ! "$(pgrep -fd, ldap)" ]; then
    
    Flag Variablen sollte man am besten immer nach der Funktion benennen, also z.B. statt "flag" lieber "rsync_running" oder "not_done" oder so. Das macht Programme etwas lesbarer. Und lokale Variablen am besten immer klein schreiben, dann laeufst du keine Gefahr irgendwelchen Umgebungsvariablen in die Quere zu kommen.

    Edit: Und "flag" muss in der Schleife natuerlich nur einmal auf false gesetzt werden, die zweite Zuweisung flag=true ist ueberfluessig und frisst nur Ressourcen.

    mfg,
    bytepool
     
  6. #5 majkel-bewit, 11.07.2009
    majkel-bewit

    majkel-bewit Jungspund

    Dabei seit:
    07.08.2008
    Beiträge:
    13
    Zustimmungen:
    0
    Hallo,
    danke für Tipps!

    Stimmt, aber bei mir funktioniert mit "==".

    MfG
    majkel-bewit
     
Thema:

rsync, sleep

Die Seite wird geladen...

rsync, sleep - Ähnliche Themen

  1. Datensicherung einses dedizierten Servers via rsync mit und ohne Linux

    Datensicherung einses dedizierten Servers via rsync mit und ohne Linux: Hallo, ich möchte meinen dedizierten Server übers Internet sichern (teilweise, d. h. Konfigurationsdateien von verschiedenen Diensten, sowie...
  2. rsync: Problem - Verzeichnisse mit Suffix umbenennen - nach 2.6.9

    rsync: Problem - Verzeichnisse mit Suffix umbenennen - nach 2.6.9: Hallo unixboard-Mitglieder, Mit rsync version 2.6.9 hat es noch funktioniert: root/lmarkus$ rsync --version...
  3. Linux Server mittels rsync auf Windows Rechner ?

    Linux Server mittels rsync auf Windows Rechner ?: Hallo, ich würde gerne meinen LinuxServer mit einem script ausstatten welches in einem Zeitinterwall nach dem Windows Rechner sieht und wenn er...
  4. RSYNC - Excludes anhand der Dateigröße ?

    RSYNC - Excludes anhand der Dateigröße ?: Hallo Gemeinde, ist es mit Bordmitteln möglich Dateien auch anhand Ihrer Größe auszuschließen? Plan B wäre einfach und mit einem Umweg zu...
  5. rsync via ssh per http-Aufruf starten

    rsync via ssh per http-Aufruf starten: Hallo, ich habe einen lokalen Benutzer der via rsync und ssh Dateien und Ordner auf einen Remote-Server speichert. Der Benutzer authenfiziert...