Version 2 von autogit push
Erscheinungsbild
Auto-Git-Push mit inotifywait und systemd
Diese Seite beschreibt, wie du Änderungen an bestimmten Dateien automatisch per Git pushen kannst.
1. Bash-Script erstellen
Speichere folgendes Script z. B. als auto-git-push.sh:
#!/bin/bash
# Zum Verzeichnis des Scripts wechseln
cd "$(dirname "$0")"
# Zu überwachende Dateien
FILES=(
"docker-compose.yml"
"homepage/config/settings.yaml"
"homepage/config/services.yaml"
)
# Endlosschleife zur Überwachung
while true; do
# Warten auf Änderungen an den Dateien
inotifywait -e close_write "${FILES[@]}"
# Dateien zum Git-Index hinzufügen
git add "${FILES[@]}"
# Prüfen, ob Änderungen vorliegen
if ! git diff --cached --quiet; then
# Commit erstellen und pushen
git commit -m "Auto-update: $(date '+%Y-%m-%d %H:%M:%S')"
git push origin main
fi
done
2. Script ausführbar machen
chmod +x auto-git-push.sh
3. systemd-Service erstellen
Falls du mehrere Services nutzt, z. B. auto-git-push@homepage.service, achte darauf, dass du den richtigen Service neu startest:
sudo systemctl restart auto-git-push@homepage.service
Dies:
- Stoppt den alten Prozess
- Startet den neuen Service mit der aktualisierten Script-Version
4. Prüfen, ob alles läuft
Service-Status prüfen:
systemctl status auto-git-push@homepage.service
Live-Logs beobachten:
journalctl -u auto-git-push@homepage.service -f
Wenn du jetzt eine der überwachten Dateien änderst (z. B. settings.yaml), sollte:
- inotifywait die Änderung erkennen
- Das Script automatisch committen und pushen
5. Checkliste
- ✅ Script gespeichert
- ✅ Script ausführbar gemacht
- ✅ systemd-Service neu gestartet
- ✅ Logs überprüft