STDOUT kriegen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • STDOUT kriegen?

    hi,
    ich habe selbst ein Backupskript geschrieben und versuche es nun anzuwenden. Über
    PHP-Code:
     exec("rsync -avz root@".$config["quellserver"].":".$ordner." ".$config["root"]."/".$datum."/"$ausgabe[]); 
    hole ich mir die Ausgabe, dachte ich
    Also führe ich mein Script auf der Shell mal direkt aus und lasse mir $ausgabe ausprinten.

    Code:
    Hassamu:/var/www/test-ordner/backup# ../backup.php
    rsync: link_stat "/var/www/test.local/shelltest2" failed: No such file or directory (2)
    rsync error: some files could not be transferred (code 23) at main.c(1298) [receiver=2.6.8]
    rsync: link_stat "/var/www/test.local/pages2" failed: No such file or directory (2)
    rsync error: some files could not be transferred (code 23) at main.c(1298) [receiver=2.6.8]
    Array
    (
        [0] => Array
            (
                [0] => receiving file list ... done
                [1] =>
                [2] => sent 8 bytes  received 21 bytes  58.00 bytes/sec
                [3] => total size is 0  speedup is 0.00
            )
    
        [1] => Array
            (
                [0] => receiving file list ... done
                [1] =>
                [2] => sent 8 bytes  received 21 bytes  58.00 bytes/sec
                [3] => total size is 0  speedup is 0.00
            )
    
    )
    Dazu muss ich sagen, dass ich absichtlich falsche Ordner genommen habe.
    Ich möchte nämlich sämtliche Fehlermeldung per Mail an mich senden. Nur wie komme ich an die Fehlermeldung en rsync: und rsync error: ?

    Ich weiß dass ich per $test = fgets(STDIN); Werte kriege die per Hand eingeeben werden, daher glaube ihc, dass ich per STDOUT die anderen Werte bekommenb könnte. Kann mir jemand sagen, wie ich STDOUT nun benutzen muss dafür?

  • #2
    Warum leitest du nicht alle Ausgaben von rsync auf STDOUT um? Dann hast du alles in $ausgabe.

    Kommentar


    • #3
      und wie mache ich das?

      Kommentar


      • #4
        Re: STDOUT kriegen?

        Mit " 2>&1". 2 ist der Deskriptor für STDERR, 1 der für STDOUT.
        PHP-Code:
        exec("rsync ... 2>&1"$ausgabe); 

        Kommentar


        • #5
          ok, danke.
          Es funktioniert!

          Kommentar

          Lädt...
          X