git pull automatisch per crontab
Möchte ich synchronisieren mein git repository auf meinem server auf meinen lokalen webserver. Alle guides die ich gelesen verursacht verschiedene Fehler und jetzt bin ich wirklich verzweifelt. Tut mir Leid, wenn Sie bereits Lesen Sie diese Frage hundert mal, aber ich noch nicht bekommen -.-
- Arbeiten mit Linux SuSE und conneting auf es mit PuTTY über SSH
- das webprojekt, wo ich die Synchronisierung für den Ordner: /srv/www/htdocs/my_project
- das git-repository ist hier: /srv/git/repositories/my_project
- Ich habe den Benutzer: "root" und "cron"
Den cron sollte diese Befehle in jeder minute oder weniger mit dem Benutzer "cron":
cd /srv/www/htdocs/my_project
git pull origin
(git fetch) <-- not mandatory
Diese Befehle funktionieren, wenn ich die Eingabe manuell erfolgen. (außer ich habe zu geben Sie die Benutzer-Passwort jedes mal)
Mein cron sollte dann so Aussehen:
* * * * * su -s /bin/sh cron -c 'cd /srv/www/htdocs/my_project && /usr/local/bin/git pull origin master'
Ich ausgeführt diese auf meinem Kitt, der mir antwortete: -bash: bin: Befehl nicht gefunden
Mein Nächster Versuch war:
crontab * * * * * su -s /bin/sh cron -c 'cd /srv/www/htdocs/my_project && /usr/local/bin/git pull origin master'
Fehler: crontab: invalid option -- 's'
Fehler: crontab: Syntax error: unrecognized option
Habe ich versucht, eine Menge mehr Kombinationen (entfernen des su -s oder entfernen der Option-c etc.) aber es funktionierte nie so wie ich wollte -.- Sollte ich nicht tun, diesen Befehl über PuTTY?
Gut zu wissen: ich bin linux und GIT-Anfänger, angefangen mit gestern und es tatsächlich geschafft, eine Menge zu tun bis jetzt. (^.^) Also ich hätte gerne eine verständliche Erklärung, was ich falsch mache und was ich zu tun habe. Es ist verwirrend.
das repository ist nicht hosted irgendwo. Auf dem server habe ich apache, gitolite und dem git-repository. Wir nicht nutzen github.com wenn das Ihre Idee war. Ich will thiy system für interne Tests, bevor wir Sie hochladen, die Projekte auf den live-server.
InformationsquelleAutor lastria | 2012-11-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der einfachste Weg, das zu erreichen, was Sie wollen (haben Sie das git-repository automatisch auf dem server implementierten) ist, indem Sie das git-repository in Ihr webserver-und mit einem Haken zu tun, ein check-out drücken. Wie dies beschrieben wird in dieser Antwort: Bereitstellen ein Projekt mit Git push
InformationsquelleAutor Chronial