Estou desconectado do assunto há muito tempo.
Há algum tempo, eu costumava usar o crontab para realizar uma tarefa de vez em quando. Preciso executar um script de shell a cada 30 minutos:
#!/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"
Estou enfrentando duas abordagens:
- Crie um serviço systemctl,
- Crie um crontab.
Qual é a melhor maneira de conseguir isso?
Responder1
No seu comentário, você escreve que adicionou um cron job como este:
0,30 * * * * root docker exec es sh /usr/local/bin/snapshot.sh
Do seu script, seria:
0,30 * * * * root /usr/local/bin/snapshot.sh
Com isso, seu script será executado com root
direitos. E em /var/log/cron
você terá:Jan 20 05:30:01 platform-prod CROND[16409]: (root) CMD (root /usr/local/bin/snapshot.sh)