Я долгое время был отключен от темы.
Некоторое время назад я использовал crontab для выполнения задачи каждые некоторое время. Мне нужно выполнять скрипт оболочки каждые 30 минут:
#!/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"
Я сталкиваюсь с двумя подходами:
- Создайте службу systemctl,
- Создайте файл crontab.
Каков наилучший способ этого добиться?
решение1
В своем комментарии вы пишете, что добавили задание cron, подобное этому:
0,30 * * * * root docker exec es sh /usr/local/bin/snapshot.sh
Согласно вашему сценарию, это будет:
0,30 * * * * root /usr/local/bin/snapshot.sh
При этом ваш скрипт будет выполнен с root
правами. И у /var/log/cron
вас будет:Jan 20 05:30:01 platform-prod CROND[16409]: (root) CMD (root /usr/local/bin/snapshot.sh)