GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verfolgen von Crontab-Änderungen mit Git?

Ich möchte git verwenden um Änderungen in crontab zu verfolgen .

Ich habe ein neues Git-Repository in /var/spool/cron/crontabs/ initialisiert

Das Problem ist nun, dass sich beim Speichern von crontab die zweite Zeile des Headers ändert, weil sie timestamp enthält.

# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.ubNueW/crontab installed on Thu Aug  1 06:29:24 2019)

Was wäre der einfachste Weg, diese irrelevanten Änderungen zu ignorieren?

Die mögliche doppelte Frage geht nicht auf den Hauptpunkt meiner Frage ein:Wie man die ersten 2 irrelevanten Zeilen von crontab ignoriert. Stattdessen spricht es einige andere Fragen an, die ich nicht gestellt habe, wie zum Beispiel einige Haken.

Akzeptierte Antwort:

Sie könnten einen Filter verwenden:

git config filter.dropSecondLine.clean "sed '2d'"

Bearbeiten/erstellen Sie .git/info/attributes und fügen Sie hinzu:

* filter=dropSecondLine

Wenn Sie nicht möchten, dass der Filter auf alle Dateien im Repo wirkt, ändern Sie das * so, dass es mit einem geeigneten Muster oder Dateinamen übereinstimmt.

Der Effekt wird sein, dass das Arbeitsverzeichnis gleich bleibt, aber die Repo-Blobs haben nicht die zweite Zeile in den Dateien. Wenn Sie es also an einer anderen Stelle nach unten ziehen, wird die zweite Zeile nicht angezeigt (das Ergebnis von sed ‘d2’). Und wenn Sie die zweite Zeile Ihrer Protokolldatei ändern, können Sie sie hinzufügen, aber nicht festschreiben, da die Änderung am Blob beim Hinzufügen erfolgt. An diesem Punkt ist es dieselbe Datei wie die im Repo.


Linux
  1. Lassen Sie sich mit sort in der Befehlszeile sortieren

  2. Bearbeiten von Text auf der Kommandozeile mit sed

  3. Eine Reihe von Befehlen mit einem Sudo ausführen?

  4. Die Zeichen jeder Zeile mit Wc zählen?

  5. Mit ein paar kleinen Änderungen ein paar Zeilen in einer Textdatei duplizieren?

Erste Schritte mit GIT unter Linux

Diff-Befehl in Linux mit Beispielen

Zeiterfassung mit Timewarrior auf der Kommandozeile

Crontab in Linux mit Beispielen verstehen

Installation und erste Schritte mit Git

So funktioniert die Versionskontrolle mit Git auf der Kommandozeile