ho creato uno script sh (per prova) per effettuare il backup di un database mysql.
Lo script è il seguente:
Codice: Seleziona tutto
#!/bin/bash
FILE=minime.sql.`date +%Y-%m-%d-%H-%M-%S`
DBSERVER=127.0.0.1
DATABASE=Universita
USER=utente
PASS=password
mysqldump --opt --user=${USER} --password=${PASS} ${DATABASE} > ${FILE}
gzip /home/mioutente/Scrivania/$FILE
echo "/home/mioutente/Scrivania/${FILE}.gz was created:"
ls -l /home/mioutente/Scrivania/${FILE}.gz
Lo script viene eseguito manualmente da terminale funziona e come output viene prodotto sulla Scrivania un file zippato contenente il file testuale di backup di mysql.
Se imposto cron con il comando crontab -e come nel seguente esempio non viene eseguito nulla:
Codice: Seleziona tutto
08 20 * * * /home/raffaele/Scrivania/backup_sql_script.sh>>provalog.log
Codice: Seleziona tutto
Mar 17 20:08:01 lenovo-pc CRON[3375]: (mioutente) CMD (/home/mioutente/Scrivania/backup_sql_script.sh>>provalog.log)
Mar 17 20:08:01 lenovo-pc CRON[3374]: (CRON) info (No MTA installed, discarding output)
Codice: Seleziona tutto
/home/mioutente/Scrivania/minime.sql.2016-03-16-03-16-01.gz was created:
Lo script ha i tutti i permessi, lettura, scrittura ed esecuzione.
Premetto che quello script l'ho preso da una guida su internet dove spiegavano come fare il backup manuale di mysql.
Qualcuno sa indicarmi come mai cron non esegue esattamente lo script come se lo lanciassi manualmente da terminale ?