Provo a rendere i backup automatici (ogni notte su 4) da un database postgresql in esecuzione all'interno di un container.eseguire "docker run" da crontab
#!/bin/sh
CONTAINER=`docker ps|grep name_of_container|awk '{print $1}'`
USER='postgre_user'
PASSWORD='changed'
BUDIR='/some/path/backup/'
docker run -it --link $CONTAINER:db -v $BUDIR:/backup/ -e "PGPASSWORD=$PASSWORD" pg_dump -h db -U $USER -Fc -f /backup/$(date +%Y-%m-%d-%H-%M-%S).dump
mio crontab si presenta così:
0 4 * * * /path/to/script.sh
Lo script funziona bene quando eseguo manualmente e anche vengono eseguiti da cron (ho provato * * * * * per il debug).
Non riesco a capire come far funzionare cron e lo script. Finora ho provato:
- variabili di scrittura a file di log
- uscita di spunta dalla crontab (
* * * * * [...] &>cron.log
) - uscita di spunta dalla
docker exec [...] > output.log
nello script
$CONTAINER
contiene la corretta finestra mobile id quando viene eseguito da cron, cron.log e output.log sono creati ma vuoti.
Qualche idea?