Llevo mucho tiempo desconectado del tema.
Hace algún tiempo, estaba acostumbrado a usar crontab para realizar una tarea cada cierto tiempo. Necesito realizar un script de shell 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"
Me enfrento a dos enfoques:
- Crear un servicio systemctl,
- Crea un crontab.
¿Cuál es la mejor manera de lograrlo?
Respuesta1
En tu comentario escribes que has agregado un trabajo cron como este:
0,30 * * * * root docker exec es sh /usr/local/bin/snapshot.sh
Según tu guión, sería:
0,30 * * * * root /usr/local/bin/snapshot.sh
Con eso, tu script se ejecutará con root
derechos. Y en /var/log/cron
ti tendrás:Jan 20 05:30:01 platform-prod CROND[16409]: (root) CMD (root /usr/local/bin/snapshot.sh)