Ankündigung

Einklappen
Keine Ankündigung bisher.

shell script nach rsync

Einklappen

Neue Werbung 2019

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

  • shell script nach rsync

    Hallo leute,

    ich habe ein Problem, dass ich durch google nicht loesen konnte.

    ich generiere mit piecrust statischen content und rufe chef bake auf um dateien zu generieren, dann lauft parallel noch rsync der per ssh die generierten dateien auf mein server hochlaedt.

    nun wuerde ich aber gerne jedesmal wenn eine datei mit einem bestimmten namen hochgeladen wurde ein php script ausfuehren der den dateinamen als parameter erhaelt, der script sollte lokal sein und nicht auf dem remote server.

    ich will halt gerne eine art newsletter versenden wollen, sobald ein blog artikel auf dem server landet, wird ein script ausgefuehrt der dann eine mail generiert mit den artikeldaten und diese an bestimmte mails versendet.

    es werden taeglich 100+ blog artikel veroffentlicht von gastauthoren, d.h. neben dem artikel, werden rss feeds usw aktualisiert. d.h. ich kann vorher nicht die mails versenden weil es ja sein kann dass der artikel bzw die dateien zum artikel sich noch im upload befinden. um es sauber zu kontrollieren waere es wuenschenswert nach dem upload den script auszufuehren.

    vielleicht hat ja jemand von euch eine bessere idee als rsync oder halt wie man es mit rsync umsetzen koennte.

    Viele Gruesse
    apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik


  • #2
    Ich habe mal ein wenig Gegoogled, aber nicht wirklich was zu Hooks in rsync gefunden.

    Was mir Auffällt ist allerdings, dass Rsync alles was gepusht wird auf die stdout schreibt. Möglicherweise ginge es, indem du Rsync ein kleines Script vorranstellst, welches dann selbst rsync aufruft und die stdout ausließt, um so festzustellen was hochgeladen wurde.

    (Habe mir die stdout's von hier angesehen: http://www.tecmint.com/rsync-local-r...tion-commands/ )
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      hm.. das habe ich auch befuerchtet, dass ich rsync manuell anstossen muss statt es ganze zeit im hintergrund laufen zu lassen. hab mir auch ein wenig lsyncd angesehen aber da kann man nur hoocks einbauen wenn dateien veraendert/angelegt wurden nicht wenn die hochgeladen wurden.

      naja dann kommt ich wohl nicht drum herum, aber vielleicht hat ja doch noch jemand eine loesung
      apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

      Kommentar


      • #4
        rsync startet automatisch?
        ich verstehe es nicht ganz, bin heute aber auch noch weniger fit als sonst.

        Kommentar


        • #5
          Nach weiteren 30 Minuten Googlen habe ich das Keywort "post-xfer exec" gefunden, welches ein Script nach dem Transfer ausführen kann, allerdings finde ich keine Möglichkeit, die Transferierten Dateien im Script abzurufen, da müsstest du dir dann noch was einfallen lassen.

          Das beste und ausführlichste was ich dazu gefunden habe: http://manpages.ubuntu.com/manpages/...cd.conf.5.html
          Ziemlich weit unten.
          Zitat von nikosch
          Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

          Kommentar


          • #6
            Zitat von moma Beitrag anzeigen
            rsync startet automatisch?
            ich verstehe es nicht ganz, bin heute aber auch noch weniger fit als sonst.
            ich kann ja rsync im hintergrund starten und es als process die ganze zeit laufen
            apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

            Kommentar

            Lädt...
            X