Docker-compose pull mit Cronjob

Pfandfinder

Lieutenant
Registriert
Nov. 2020
Beiträge
645
Hallo,

Ich habe einen Cronjob welcher Docker nachts für ein Backup beendet und danach wieder startet, bzw. vor dem "docker-compose up -d" soll eigentlich noch "docker-compose pull" durchgeführt werden um die Software zu aktualisieren, doch mir ist aufgefallen dass er das gar nicht macht. Die Version ist veraltet. Nur wenn ich den Befehl manuell ausführe macht er das. Was ist da das problem im Cronjob ? So sieht das bash Script aus :

Code:
#!/bin/bash

cd /home/web/softwarename
docker-compose pull
docker-compose up -d
 
Pfandfinder schrieb:
Was ist da das problem im Cronjob ?
Was so typische Fehler sind ist, das z.B. die PATH-Variable üblicherweise nicht so umfangreich bestückt ist, wie man es sonst kennt. Ich würde zunächst die "crontab" checken.
 
Ich würde
docker-compose pull &> compose.log
machen. Um zu sehen, ob das läuft.
Ergänzung ()

Und bist du sicher, dass in dem Moment, wo das läuft auch ein Update vorliegt?
 
Ja habe ja gerade manuell aktualisiert weil der Cronjob das noch nie gemacht hat.
 
oicfar schrieb:
Ich würde

machen. Um zu sehen, ob das läuft.
Ergänzung ()

Und bist du sicher, dass in dem Moment, wo das läuft auch ein Update vorliegt?
Im log steht jetzt "docker-compose: command not found"

Mit "/usr/local/bin/docker-compose" im script geht es 👍
 
Mit welchem Nutzer startest du den Cronjob und mit welchem machst du das manuell? Ist das der gleiche Nutzer?
 
Doofe Frage:
wenn er beim pull scheitert aufgrund des PATHs, dann wird er auch beim Befehl danach scheitern.

Sicher, dass es "docker-compose" sein muss und nicht "docker compose"?

Edit: und ja, siehe Beitrag #7 :-)
 
Zuletzt bearbeitet:
Setz die Path Variablen oder nehm den Path den ein witch dir ausgibt mit in die crontab.
 
  • Gefällt mir
Reaktionen: Pfandfinder
  • Gefällt mir
Reaktionen: tollertyp
Ja, aber mir ging es darum, ob "docker-compose" evtl bei ihm "falsch" sein könnte, aber ist es offensichtlich nicht.
 
Das reine aktualisieren kannst du auch anders lösen, z.B. mittels Watchtower
https://github.com/containrrr/watchtower

Das ist ein Container der andere Container aktualisiert.

Das ganze bietet einen Haufen Einstellmöglichkeiten. Wann soll aktualisiert werden, Neustart ja oder nein, Woche Container sollen aktualisiert werden…
 
Zurück
Oben