ho testato il tuo script direttamente da linea di comando e con cron, usando esattamente la tua configurazione e funziona perfettamente in entrambi i casi.
L'unica cosa che mi viene in mente è che u lanci lo script da linea di comando con l'utente postgres, mentre cron lo lancia con l'utente root e che postgres è configurato per accettare connessioni dall'utente postgres solo con il metodo ident.
Se questa ipotesi è giusta allora devi solo configurare postgres per fargli accettare connessioni dall'utente postgres con il metodo md5.
Sennò ci dev'essere un altro problema. Hai configurato cron in modo di loggare quello che fa lo script?
- Codice: Seleziona tutto
00 19 * * * /etc/init.d/backup_postgresql.sh > /var/log/backup.log
Poi potrai vedere nel file /var/log/backup.log l'eventuale messaggio di errore.