Wie erstelle ich einen Cron-Job, der meine Projektänderungen wöchentlich an git bindet

5091
Jason

Ich benutze git, um eine historische Abschrift der an meinem Projekt vorgenommenen Änderungen zu erstellen. Ich verstehe, dass dies nicht die ideale Verwendung ist, aber es ist das Verwendungsmuster, das ich aus verschiedenen Gründen ausgewählt habe, auf das ich der Kürze halber nicht eingehen werde.

Wie würde ich einen Cron-Job erstellen, der jeden Tag oder jede Woche die Änderungen am Repository festschreibt?

Ich verwende die neueste Version von git auf Ubuntu 10.10.

8

2 Antworten auf die Frage

9
jcrawfordor
0 20 * * 0 /path_to_script

Dadurch wird der angegebene Befehl /path_to_script'jeden Sonntag um 20:00 Uhr Ortszeit ausgeführt. Die Syntax für Cron-Jobs ist relativ einfach und es gibt ein einfaches Werkzeug, mit dessen Hilfe Sie sie erstellen können, ohne sich die Codepositionen merken zu müssen.

In diesem Fall sollte der Befehl ein Skript sein, das das Festschreiben für Sie ausführt. Ich denke, in Ihrem Fall wäre es am einfachsten, ein schnelles Shellskript zu schreiben, in das Klonverzeichnis zu wechseln und dann das Festschreiben auszuführen. Erstellen Sie eine Datei unter ~/commit.shund fügen Sie diese ein ( /location/of/clonenatürlich ersetzen ).

 #!/bin/sh cd /location/of/clone git-commit -m "commit message, to avoid being prompted interactively" 

Dann chmod +x ~/commit.shmachen Sie es ausführbar, und lassen Sie den cron-Job das ausführen (er bezieht sich auf den vollständigen Pfad, anstatt zu verwenden ~).

Gute Antwort. Beachten Sie, dass der Cronjob (offensichtlich) nur ausgeführt wird, wenn Ihr Computer zur angegebenen Zeit (z. B. Sonntag 20:00 Uhr) läuft. pableu vor 13 Jahren 0
Wie kann ich den Push zum Server machen lassen? Jason vor 13 Jahren 0
Wie kann ich Dateien hinzufügen, die ich hinzugefügt habe? Jason vor 13 Jahren 0
Fügen Sie einfach git-push zum Skript hinzu, damit es auch auf den Server übertragen wird. Sie können die Option -a für git-commit verwenden, damit alle Dateien, die geändert oder gelöscht wurden, automatisch hinzugefügt werden. jcrawfordor vor 13 Jahren 0
Möchten Sie dem Commit-Befehl kein "-a" hinzufügen, damit werden automatisch alle Dateien hinzugefügt, die bereits im Staging-Bereich aufgezeichnet wurden. Dror vor 11 Jahren 1
Ja, das geht ohne das "-a" nicht. Außerdem wird das Commit nicht ausgeführt, da es "git-commit" ist. Ich werde es reparieren. Elijah Lynn vor 9 Jahren 0
2
speakman

Führen crontab -eSie den Befehl aus, um den Benutzer cronjob zu bearbeiten, und fügen Sie diese Zeile ein:

0 20 * * 0 (cd /path/to/myproject && git add . && git commit -m "Automatic Commit" && git push) 

Natürlich müssen Sie Ihr GIT-Repo mit einem funktionierenden Remote-Repository einrichten. Dies ist jedoch nicht Gegenstand dieser Frage.