149680
18.10.2022
4985
4
0
Cron job startet nicht
Hallo community,
ich möchte per crontab einen task starten um container zu stoppen und erneut zu starten. Dazu editiere ich meine crontab mittels:
der relevante Inhalt ist:
Aktuell sind bewusst zwei Varianten aufgezeigt. Leider funktioniert aktuell keine davon. Rufe ich das script normal als user local_master aus dem home verzeichnis auf funktioniert das Script und schreibt auch wie gewünscht Einträge in ein Log. local_master besitzt sudo Berechtigungen.
Das Script schaut in etwa so aus:
Wie muss ein richtiger Aufruf aus der crontab aussehen?
Dieses Beispiel funktioniert hingegen ohne Probleme
Nach Änderungen wurde auch
ausgeführt.
Danke für hinweise.
ich möchte per crontab einen task starten um container zu stoppen und erneut zu starten. Dazu editiere ich meine crontab mittels:
sudo nano /etc/crontab -e
der relevante Inhalt ist:
#backup stop container
46 19 * * sun, tue, thu, sat local_master cd /home/local_master/ && ./doc_con_stop.sh
#back start container
56 19 * * sun, tue, thu, sat root /home/local_master/doc_con_start.sh
Aktuell sind bewusst zwei Varianten aufgezeigt. Leider funktioniert aktuell keine davon. Rufe ich das script normal als user local_master aus dem home verzeichnis auf funktioniert das Script und schreibt auch wie gewünscht Einträge in ein Log. local_master besitzt sudo Berechtigungen.
Das Script schaut in etwa so aus:
#!/bin/bash
#define log file
log=doc_con_backup_log.txt
# append date to log file
echo =================================== >> $log
date >> $log
# get all running docker container names
containers=$(sudo docker ps -a | awk '{if(NR>1) print $NF}')
host=$(hostname)
# loop through all containers
for container in $containers
do
if [ "$container" != "duplicati" ]; then
cmd=$(sudo docker start $container)
echo Container: $cmd started >> $log
fi
done
Wie muss ein richtiger Aufruf aus der crontab aussehen?
Dieses Beispiel funktioniert hingegen ohne Probleme
0 23 * * * root /usr/sbin/rtcwake -m mem -s 32400 $ #Sleep
Nach Änderungen wurde auch
sudo service cron reload
Danke für hinweise.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 4326813067
Url: https://administrator.de/contentid/4326813067
Ausgedruckt am: 25.11.2024 um 05:11 Uhr
4 Kommentare
Neuester Kommentar
ich würde zuerst mal die leerzeichen zwischen den wochentagen wegmachen. Es ist für dich zwar ggf. schöner lesbar, es gibt aber div. configs die das als "trenner" sehen und du somit einfach mehr parameter angegeben hast als erlaubt sind...
Generell würde ich aber auch erwarten das du nen fehler in entweder /var/log/messages oder /var/log/syslog sehen wirst.
Generell würde ich aber auch erwarten das du nen fehler in entweder /var/log/messages oder /var/log/syslog sehen wirst.
Moin,
Zu viele Leerzeichen: nach einem Leerzeichen fängt (zumindest bei den Werten vor dem eigentlichen Befehl) eine neue "Spalte" an, du musst die Angabe der Wochentage ohne Leerzeichen dazwischen schreiben.
Gruß
Tobias
Zitat von @149680:
der relevante Inhalt ist:
der relevante Inhalt ist:
#backup stop container
46 19 * * sun, tue, thu, sat local_master cd /home/local_master/ && ./doc_con_stop.sh
Zu viele Leerzeichen: nach einem Leerzeichen fängt (zumindest bei den Werten vor dem eigentlichen Befehl) eine neue "Spalte" an, du musst die Angabe der Wochentage ohne Leerzeichen dazwischen schreiben.
Gruß
Tobias