Ich habe mich schon lange nicht mehr mit dem Thema befasst.
Früher habe ich crontab verwendet, um eine Aufgabe jedes Mal auszuführen. Ich musste alle 30 Minuten ein Shell-Skript ausführen:
#!/bin/bash
SNAPSHOT=`date +%Y%m%d-%H%M%S`
docker exec es curl -XPUT "localhost:9200/_snapshot/my_backup/$SNAPSHOT?wait_for_completion=true"
Ich stehe vor zwei Ansätzen:
- Erstellen Sie einen systemctl-Dienst.
- Erstellen Sie eine Crontab.
Wie lässt sich das am besten erreichen?
Antwort1
In Ihrem Kommentar schreiben Sie, Sie hätten einen Cron-Job wie diesen hinzugefügt:
0,30 * * * * root docker exec es sh /usr/local/bin/snapshot.sh
Aus Ihrem Skript würde folgendes hervorgehen:
0,30 * * * * root /usr/local/bin/snapshot.sh
Damit wird Ihr Skript mit root
den entsprechenden Rechten ausgeführt. /var/log/cron
Sie erhalten:Jan 20 05:30:01 platform-prod CROND[16409]: (root) CMD (root /usr/local/bin/snapshot.sh)