Auf Textausgabe in screen warten

Dieses Thema im Forum "Debian/Ubuntu/Knoppix" wurde erstellt von Das Kamel, 29.07.2011.

  1. #1 Das Kamel, 29.07.2011
    Das Kamel

    Das Kamel Mitglied

    Dabei seit:
    19.09.2007
    Beiträge:
    44
    Zustimmungen:
    0
    Ort:
    Erfurt
    Moin,

    ich habe ein Backup-Script für einen Gameserver.
    Das Script schickt zu erst den Befehl an die screen-session mit
    Code:
    screen -S -X
    Anschließend startet das Script den Dateitransfer zum Backupordner.

    Das Problem bei der ganzen sache ist jetzt, dass der Speichervorgang noch nicht abgeschlossen ist, und somit immer ein etwas älteres Save übertragen wird.

    Ich suche nach einer Möglichkeit auf die Meldung von Screen zu warten, das der Speichervorgang fertig ist und dann erst zu kopieren.

    Die Möglichkeit eine konstante Wartezeit in das Script einzufügen habe ich auch shcon in Betracht gezogen, ist aber meiner Meinung nach in sofern ungünstig dass es ja unterschiedlich lange dauern zu Speichern.
     
  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 Remidemi, 29.07.2011
    Remidemi

    Remidemi Routinier

    Dabei seit:
    17.03.2008
    Beiträge:
    352
    Zustimmungen:
    0
    Ort:
    Südpfalz
    Hi

    Sind das zwei unterschiedliche Scripts? Ich verstehe den Ablauf nicht.
    Ruf doch den Kopiervorgang nach dem Speichervorgang auf.
     
  4. #3 Das Kamel, 21.08.2011
    Das Kamel

    Das Kamel Mitglied

    Dabei seit:
    19.09.2007
    Beiträge:
    44
    Zustimmungen:
    0
    Ort:
    Erfurt
    Es handelt sich um ein Script:
    Code:
    echo "Starte Backup"
    
    echo "Welt speichern"
    screen -S minecraft -X save-all
    echo "Welt gespeichert"
    
    VAR=$(date +"%Y-%m-%d_%H-%M")
    
    echo "Starte Dateitransfer"
    cp -v -R /home/minecraft/ /raid5/mcbackup/$VAR
    echo "Dateitransfer abgeschlossen"
    
    echo "Backup abgeschlossen"
    Ich hätte es gerne dass das Script vor bzw. bis zu der Ausgabe "Welt gespeichert" auf die Meldung "Save completed" im Screen wartet.
     
  5. #4 DerStadtbus, 22.08.2011
    DerStadtbus

    DerStadtbus Grünschnabel

    Dabei seit:
    21.08.2011
    Beiträge:
    5
    Zustimmungen:
    0
    Ort:
    Erfurt
    Dann bau doch ein sleep mit ein.
    Ich würde mir mal rsync als Alternative zu cp angucken. - Das vereinfacht das syncen ungemein.
    Warum machst du das eigentlich so umständlich per screen? Nutz doch den cron-deamon oder feuer einen at-job ab, der dein Skript sofort ausführt. echo "<dein befehl oder skript>"|at now (oder sonstwann)
     
  6. #5 Das Kamel, 26.08.2011
    Das Kamel

    Das Kamel Mitglied

    Dabei seit:
    19.09.2007
    Beiträge:
    44
    Zustimmungen:
    0
    Ort:
    Erfurt
    Mit dem sleep das stell ich mir nicht so einfach vor, da die Map immer weiter wächst, und somit denke ich auch der Dateitrnsfer zunehmend lange dauert.
    Du meinst ich sollte den Inhalt des Scriptes direkt aus dem Cronjob ausführen und nicht das Script aufrufen lassen?
     
  7. Tblue

    Tblue Tripel-As

    Dabei seit:
    27.11.2007
    Beiträge:
    188
    Zustimmungen:
    0
    Vielleicht hilft dir ja das Programm expect weiter?
     
  8. #7 DerStadtbus, 28.08.2011
    Zuletzt bearbeitet: 30.08.2011
    DerStadtbus

    DerStadtbus Grünschnabel

    Dabei seit:
    21.08.2011
    Beiträge:
    5
    Zustimmungen:
    0
    Ort:
    Erfurt
    Was hälst du denn von sowas?



    crontab -e

    Hier fügst du folgende Zeilen hinzu:

    0 2 * * * /absoluter-pfad/minecraft -X save-all
    0 4 * * * /bin/tar cvf /raid5/mcbackup/`/bin/date "+%F"`-minecraft.tar /home/minecraft/

    crontab -l zeigt dir deine vorhandenen Cronjobs an

    Das geht zwar noch eleganter (Stichwort: "inkrementelles Backup"), aber das sollte funktionieren.

    Man kann seine Befehle auch mit einem && verknüpfen, dann wird der zweite Befehl erst ausgeführt, wenn der erste erfolgreich gelaufen ist. ^^
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. #8 Das Kamel, 17.09.2011
    Das Kamel

    Das Kamel Mitglied

    Dabei seit:
    19.09.2007
    Beiträge:
    44
    Zustimmungen:
    0
    Ort:
    Erfurt
    funktioniert definitiv nicht. Ich kann auch nicht nachvollziehen wie damit der Befehl zum speichern übermittelt werden soll.

    @Tblue
    expect sieht ganz interessant aus, allerdings steig ich da noch nicht ganz dahinter. Soll das in meinem Fall screen ersetzen? Oder kann das direkt mit der screen-session kommunizieren?
     
  11. #9 karloff, 20.09.2011
    karloff

    karloff Routinier

    Dabei seit:
    09.07.2007
    Beiträge:
    317
    Zustimmungen:
    0
    Ort:
    ~/
    Du könntest ggf. in ner schleife den Rückgabewert abfragen.
    also "echo $?"
    Ob das ganze allerdings via screen session geht, hab ich noch nie getestet.
     
Thema:

Auf Textausgabe in screen warten

Die Seite wird geladen...

Auf Textausgabe in screen warten - Ähnliche Themen

  1. php textausgabe mit wget downloaden

    php textausgabe mit wget downloaden: Hallo zusammen, ich verzweifle hier an einem kleinen Problem. Derzeit arbeite ich an einer Art onlinedienst, der schwarze listen für squidguard...
  2. Screenshots mit Druck | S-Abf

    Screenshots mit Druck | S-Abf: Hallo wie macht man in CentOS 7.2.15.111 Screenshots mit Druck | S-Abf ?
  3. Autor von xscreensaver kritisiert Debian-Update-Strategie

    Autor von xscreensaver kritisiert Debian-Update-Strategie: Jamie Zawinski, der Autor von xscreensaver, ärgert sich über Meldungen von Fehlern, die in neueren Versionen seiner Software längst behoben sind....
  4. Service oder Screen überwachen und ggf. Neustarten?!

    Service oder Screen überwachen und ggf. Neustarten?!: Hallo liebe Community. Leider habe ich nichts passendes gefunden, weshalb ich nun diesen Thread aufmache. Ich habe einen Gameserver den...
  5. xserver startet nicht: no screens

    xserver startet nicht: no screens: Hallo Hab wohl bei einem meiner Debian-Sid System den xserver zerschossen. Screens not found. nvidia-kernel-dkms ist instaliert,...