problème d'exécution d'un script bash en cron ou via bacula
2 réponses
l3w0rM
Bonjour à tous
j'ai un script bash qui fonctionne bien quand je le lance "à la main" :
./BeforeJobs.sh
quand ce dernier est appelé par bacula j'ai l'erreur :
ClientRunBeforeJob: /etc/scripts/bacula/BeforeJob.sh: 15: Syntax error:
"(" unexpected
Pour vérifier le problème j'ai mis mon script dans cron j'ai la même
erreur : /etc/scripts/bacula/BeforeJob.sh: 15: Syntax error: "(" unexpected
à priori cela coinse au niveau de mon tableau j'ai essaye les ecritutres
suivante trouvée sur le web :
avec ou sans espace entre la parenthèse et le premier caractère à
l'intérieur de cette dernière ( idem à la fin de la parenthèse )
=> Tableau=([1]="postgres [2]="template1" [3]="mantis" [4]="dbnl51"
[5]="ipplan")
=> Tableau=(postgres template1 mantis dbnl51 ipplan)
=> declare -a Tableau=([1]="postgres [2]="template1" [3]="mantis"
[4]="dbnl51" [5]="ipplan")
=> declare -a Tableau=(postgres template1 mantis dbnl51 ipplan)
voici mon script
#
#
#
#!/bin/sh
# Constantes chemin des répertoires
DirTmp=/data/BckPostgres
DirFinal=/data/BckDbs
DirTime=/etc/scripts
# Constantes bases
# Mettre dans le tableau le nom de la base de donnée [son_numero]=nom_base
Tableau=( [1]=postgres [2]=template1 [3]=mantis [4]=dbnl51 [5]=ipplan )
NbElement=${#Tableau[@]}
echo 'Supression de la dernière sauvegarde'
cd $DirFinal
rm *.gz
echo 'Suppression terminée'
if [ -d $DirTmp ] ; then
echo -e "Le répertoire $DirTmp existe"
else
echo -e "Le répertoire $DirTmp n'existe pas : création de ce dernier"
mkdir -p $DirTmp
chown -R postgres $DirTmp
fi
echo "Nombre de bases à sauvegarder : '$NbElement' ."
# Dump des databases chaud
echo "Sauvegarde intégrale des bases"
for i in ${!Tableau[*]}
do
Base=${Tableau[$i]}
su $User -c "pg_dump -E='UTF8' --create -o $Base --file=$DirTmp/$Base.`date +%d-%m-%y`.sql"
taille=$(ls -alh $DirTmp/$Base.`date +%d-%m-%y`.sql |awk -F" " '{print $5}')
if [ $taille = 0 ] ; then
taille='ERREUR DE SAUVEGARDE'
fi
echo 'DUMP de la base '$Base' effectué taille : '$taille''
done
echo "Sauvegarde des datas uniquement"
for i in ${!Tableau[*]}
do
Base=${Array[$i]}
su $User -c "pg_dump -E='UTF8' -o --data-only $Base --file=$DirTmp/$Base-data.`date +%d-%m-%y`.sql"
taille=$(ls -alh $DirTmp/$Base-data.`date +%d-%m-%y`.sql |awk -F" " '{print $5}')
if [ $taille = 0 ] ; then
taille='ERREUR DE SAUVEGARDE'
fi
echo 'DUMP de la base '$Base' effectué taille : '$taille''
done
echo "Sauvegarde des datas uniquement avec insert"
for i in ${!Tableau[*]}
do
Base=${Array[$i]}
su $User -c "pg_dump -E='UTF8' --data-only --inserts $Base --file=$DirTmp/$Base-data-inser.`date +%d-%m-%y`.sql"
taille=$(ls -alh $DirTmp/$Base-data-inser.`date +%d-%m-%y`.sql |awk -F" " '{print $5}')
if [ $taille = 0 ] ; then
taille='ERREUR DE SAUVEGARDE'
fi
echo 'DUMP de la base '$Base' effectué taille : '$taille''
done
echo "Sauvegarde des schémas uniquement"
for i in ${!Tableau[*]}
do
Base=${Array[$i]}
su $User -c "pg_dump -E='UTF8' -o --schema-only $Base --file=$DirTmp/$Base-schema.`date +%d-%m-%y`.sql"
taille=$(ls -alh $DirTmp/$Base-schema.`date +%d-%m-%y`.sql |awk -F" " '{print $5}')
if [ $taille = 0 ] ; then
taille='ERREUR DE SAUVEGARDE'
fi
echo 'DUMP de la base '$Base' effectué taille : '$taille''
done
#optimisation
echo "Optimisation des dumps sql"
cd $DirFinal
tar -czf DBS_Dump-`date +%m-%d-%y`.tar.gz $DirTmp/*
taille=$(du -sh $DirTmp | awk -F" " '{print $1}')
echo 'Taille des dumps des bases de données : '$taille''
taille=$(ls -alh $DirFinal/DBS_Dump-`date +%m-%d-%y`.tar.gz | awk -F" " '{print $5}')
echo 'Taille du fichier compressé : '$taille''
echo '################################################'
echo '# Fin Pré-install #'
echo '################################################'
Merci de votre aide
philippe
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/4B88D071.4030209@worm-fr.com
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20100227100720.6ec142c5@morpheusold.bulot-fr.com
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers En cas de soucis, contactez EN ANGLAIS Archive: http://lists.debian.org/
l3w0rM
Le 27/02/2010 10:07, Grégory Bulot a écrit :
set | grep -i shell >
j ai remplacé et j'obtient la meme chose : #!/bin/bash
j'ai toujours l'erreur
dans le même ordre d'idée j ai regarder les variables d'environement elle sont les memes UTF8 / LATIN1
j'ai toujours l'erreur
merci
philippe
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers En cas de soucis, contactez EN ANGLAIS Archive: http://lists.debian.org/
Le 27/02/2010 10:07, Grégory Bulot a écrit :
set | grep -i shell >
j ai remplacé et j'obtient la meme chose :
#!/bin/bash
j'ai toujours l'erreur
dans le même ordre d'idée j ai regarder les variables d'environement
elle sont les memes UTF8 / LATIN1
j'ai toujours l'erreur
merci
philippe
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/4B88E840.7000709@worm-fr.com