Bonjour,
j’ai un petit soucis de script shell qui s’execute manuellement mais qui a un comportement différent dans le crontab et je ne trouve pas pourquoi.
La commande qui pose soucis est la suivante:
#!/bin/bash
baseDeDonnees=`psql postgres -U postgres -c "\l" | grep -Eo "^ [a-zA-Z0-9_-.]+"`
Le crontab
#sauvegarde de la base de donnees
1 11 * * * /opt/script/backupPostgres.sh
avec cette commande, je veux récupérer la liste des bases dans mon serveur postgres pour effectuer des sauvegardes séparées.
En manuel, le retour me donne bien ce que je veux, c’est à dire:
dr-254-392
db_auto
p08-14-df28.64
postgres
template0
template1
template_test
testdbupdate
testobs_crub
testme
testert
mais dans le cron elle me retourne:
dr
db
p08
postgres
template0
template1
template_test
testdbupdate
testobs
testme
testert
on dirait qu’elle s’arrète aux différents caractères spéciaux.
Auriez-vous une idée car je sèche. Ai je fait une erreur dans la regexp ?
Merci à vous