La condition ne s'execute pas ???
Résolu
ParMesSoins
Messages postés
29
Statut
Membre
-
ParMesSoins Messages postés 29 Statut Membre -
ParMesSoins Messages postés 29 Statut Membre -
Bonjour,
j'ai un script de sauvegarde : que voici :
via ce fichier de conf
Tout semble fonctionner sauf les conditions.
Je recois le mail mais aucun rsync ne s'effectue.
mon IF ne doit pas etre bon ???
Merci pour votre aide ;)
j'ai un script de sauvegarde : que voici :
#!/bin/sh
# Script de sauvegarde
#merci de renseigner le fichier de conf: sauve.conf
#
#lecture des parametre de conf
#definition du chemin du fichier de conf
sauve_conf="/dossiers/scripts/sauve.conf"
sauvegarde_quotidien=$(cat $sauve_conf|grep "^sauvegarde_quotidien="|awk 'BEGIN {FS="="} {print $2}')
sauvegarde_hebdo=$(cat $sauve_conf|grep "^sauvegarde_hebdo="|awk 'BEGIN {FS="="} {print $2}')
ip_sauve_quotidien=$(cat $sauve_conf|grep "^ip_sauve_quotidien="|awk 'BEGIN {FS="="} {print $2}')
ip_sauve_hebdo=$(cat $sauve_conf|grep "^ip_sauve_hebdo="|awk 'BEGIN {FS="="} {print $2}')
nom_module_rsyn_conf_quotidien=$(cat $sauve_conf|grep "^nom_module_rsyn_conf_quotidien="|awk 'BEGIN {FS="="} {print $2}')
nom_module_rsyn_conf_hebdo=$(cat $sauve_conf|grep "^nom_module_rsyn_conf_hebdo="|awk 'BEGIN {FS="="} {print $2}')
#
#declaration du compte ADMIN
admin="root"
#
#declaration du chemin du log RSYNC
rsync_log="/dossiers/scripts/rsync.log"
#
#declaration du chemin du log general (compte_rendu)
compte_rendu_log="/dossiers/scripts/compte_rendu.log"
#
#declaration de l'adresse mail d'envoie des log
adress_mail="root@linux.fr"
#
#declaration de la date
date=$(date '+%A %d %B %H:%M:%S')
#
#declaration du n° de jour de la semaine (5 pour vendredi)
dateV=$(date +%u)
#
#declaration du nom du serveur
servername=$(uname -n)
#
#declaration de la date type 06.11.2009
datehebdo=$(date +%x)
#
#declaration du jour de la semaine type vendredi
datejour=$(date +%A)
#
#initialisation du fichier de log
echo "Sauvegarde du serveur $servername" >$compte_rendu_log
echo "*************************************************************" >>$compte_rendu_log
echo >>$compte_rendu_log
# si sauvegarde_quotidien==oui
if [ $sauvegarde_quotidien = "oui" ]; then
{
echo "Sauvegarde Quotidienne" >>$compte_rendu_log
echo $datejour >>$compte_rendu_log
date >>$compte_rendu_log
rsync -raqv /bureautique/dossiers $admin@$ip_sauve_quotidien::$nom_module_rsyn_conf_quotidien/`date +%A` >>$rsync_log
#test les erreurs de Rsynsc
if [ "$?" != 0 ]; then mail -s "[ERREUR] $servername $datejour" $adress_mail<$rsync_log; fi
date >>$compte_rendu_log
rsync -raqv /bureautique/scripts $admin@$ip_sauve_quotidien::$nom_module_rsyn_conf_quotidien/`date +%A` >>$rsync_log
if [ "$?" != 0 ]; then mail -s "[ERREUR] $servername $datejour" $adress_mail<$rsync_log; fi
rsync -raqv /bureautique/systeme $admin@$ip_sauve_quotidien::$nom_module_rsyn_conf_quotidien/`date +%A` >>$rsync_log
if [ "$?" != 0 ]; then mail -s "[ERREUR] $servername $datejour" $adress_mail<$rsync_log; fi
echo "____________________________________________" >>$compte_rendu_log
}
fi
#
### si on est Vendredi, on sauvegarde sur le Hebdo
#
if [ $dateV = "5" ] && [ $sauvegarde_hebdo = "oui" ]; then
{
echo "Sauvegarde Hebdo" >>$compte_rendu_log
echo $datejour >>$compte_rendu_log
echo >>$compte_rendu_log
echo "***$datejour]***" >$compte_rendu_log
date >>$compte_rendu_log
rsync -raqv /bureautique/dossiers $admin@$ip_sauve_hebdo::$nom_module_rsyn_conf_hebdo/"$datehebdo"_"$servername" >>$rsync_log
if [ "$?" != 0 ]; then mail -s "[ERREUR] $servername $datejour" $adress_mail<$rsync_log; fi
date >>$compte_rendu_log
rsync -raqv /bureautique/scripts/*.log $admin@$ip_sauve_hebdo::$nom_module_rsyn_conf_hebdo/"$datehebdo"_"$servername" >>$rsync_log
if [ "$?" != 0 ]; then mail -s "[ERREUR] $servername $datejour" $adress_mail<$rsync_log; fi
echo "____________________________________________" >>$compte_rendu_log
}
fi
#
# Espace disk
echo >>$compte_rendu_log
echo "Espace Disque "$(date '+%A %d %B %H:%M:%S')>>$compte_rendu_log
echo "*************************************************************" >>$compte_rendu_log
df -h >>$compte_rendu_log
#
#concatene le rsync.log au compte_rendu.log
echo >>$compte_rendu_log
echo "Rsync LOG" >>$compte_rendu_log
echo "____________________________________________" >>$compte_rendu_log
cat $rsync_log>>$compte_rendu_log
#
#envoi du mail à la BAL linux
mail -s "[$datejour] $servername" $adress_mail<$compte_rendu_log
via ce fichier de conf
#sauve.conf #fichier de conf pour les sauvegarde du serveur # #MaJ 11/2009 # [SAUVE] sauvegarde_quotidien=oui sauvegarde_hebdo=oui ip_sauve_quotidien=1.2.3.4 ip_sauve_hebdo=1.2.3.3 nom_module_rsyn_conf_quotidien=appli nom_module_rsyn_conf_hebdo=hebdo
Tout semble fonctionner sauf les conditions.
Je recois le mail mais aucun rsync ne s'effectue.
mon IF ne doit pas etre bon ???
Merci pour votre aide ;)
A voir également:
- La condition ne s'execute pas ???
- Excel cellule couleur si condition texte - Guide
- Excel condition ou - Guide
- Je ne suis pas un robot confidentialité - conditions - Forum Facebook
- Nbval avec condition ✓ - Forum Excel
- Condition optimale téléphone ✓ - Forum Mobile
13 réponses
Ben oui ;-((
Soit tu as dos2unix d'installer sur ton système et tu y passes un ch'tit coup :
Soit tu fais avec sed (Sed - Conversion retours chariots DOS (CRLF) / UNIX (LF) )
Ou "tr"...
Soit tu as dos2unix d'installer sur ton système et tu y passes un ch'tit coup :
dos2unix sauve.conf
Soit tu fais avec sed (Sed - Conversion retours chariots DOS (CRLF) / UNIX (LF) )
Ou "tr"...
tu as essayé en mettant des parenthèses au lieu des crochets ?
Essaye avec peu d'instructions dans ton if, juste un echo pour voir...
Essaye avec peu d'instructions dans ton if, juste un echo pour voir...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
le test suivant me renvoie "non" alors que cela devrait etre oui ???
fichier de conf
Merci pour votre aide ;)
le test suivant me renvoie "non" alors que cela devrait etre oui ???
#!/bin/sh
# Script de sauvegarde
#merci de renseigner le fichier de conf: sauve.conf
#
#lecture des parametre de conf
#definition du chemin du fichier de conf
sauve_conf="/dossiers/scripts/sauve.conf"
sauvegarde_quotidien=$(cat $sauve_conf|grep "^sauvegarde_quotidien="|awk 'BEGIN {FS="="} {print $2}')
sauvegarde_hebdo=$(cat $sauve_conf|grep "^sauvegarde_hebdo="|awk 'BEGIN {FS="="} {print $2}')
ip_sauve_quotidien=$(cat $sauve_conf|grep "^ip_sauve_quotidien="|awk 'BEGIN {FS="="} {print $2}')
ip_sauve_hebdo=$(cat $sauve_conf|grep "^ip_sauve_hebdo="|awk 'BEGIN {FS="="} {print $2}')
nom_module_rsyn_conf_quotidien=$(cat $sauve_conf|grep "^nom_module_rsyn_conf_quotidien="|awk 'BEGIN {FS="="} {print $2}')
nom_module_rsyn_conf_hebdo=$(cat $sauve_conf|grep "^nom_module_rsyn_conf_hebdo="|awk 'BEGIN {FS="="} {print $2}')
#
#declaration du compte ADMIN
admin="root"
#
#declaration du chemin du log RSYNC
rsync_log="/dossiers/scripts/rsync.log"
#
#declaration du chemin du log general (compte_rendu)
compte_rendu_log="/dossiers/scripts/compte_rendu.log"
#
#declaration de l'adresse mail d'envoie des log
adress_mail="root@linux.fr"
#
#declaration de la date
date=$(date '+%A %d %B %H:%M:%S')
#
#declaration du n° de jour de la semaine (5 pour vendredi)
dateV=$(date +%u)
#
#declaration du nom du serveur
servername=$(uname -n)
#
#declaration de la date type 06.11.2009
datehebdo=$(date +%x)
#
#declaration du jour de la semaine type vendredi
datejour=$(date +%A)
#
#initialisation du fichier de log
echo "Sauvegarde du serveur $servername" >$compte_rendu_log
echo "*************************************************************" >>$compte_rendu_log
echo >>$compte_rendu_log
# si sauvegarde_quotidien==oui
if [ $sauvegarde_quotidien = "oui" ]; then
{
echo oui
}
else
{
echo non
}
fi
fichier de conf
#sauve.conf #fichier de conf pour les sauvegarde du serveur # #MaJ 11/2009 # [SAUVE] sauvegarde_quotidien=oui sauvegarde_hebdo=oui ip_sauve_quotidien=1.2.3.4 ip_sauve_hebdo=1.2.3.3 nom_module_rsyn_conf_quotidien=appli nom_module_rsyn_conf_hebdo=hebdo
Merci pour votre aide ;)
Salut,
Rajoute "set -xv" à ton script après le shebang :
Exécute ton script et affiche le résultat ici s'il te plaît, merci.
Rajoute "set -xv" à ton script après le shebang :
#!/bin/sh set -xv
Exécute ton script et affiche le résultat ici s'il te plaît, merci.
voici pour le test :
c'est quoi ce "/r" ? le retour chariot ?
pourtant ecrit mon fichier de conf dans Vi !?
Merci
+ '[' $'oui\r' = oui ']'
c'est quoi ce "/r" ? le retour chariot ?
pourtant ecrit mon fichier de conf dans Vi !?
Merci
#sauve.conf^M$ #fichier de conf pour les sauvegarde du serveur^M$ #^M$ #MaJ 11/2009^M$ #^M$ [SAUVE]^M$ sauvegarde_quotidien=oui^M$ sauvegarde_hebdo=oui^M$ ip_sauve_quotidien=ip^M$ ip_sauve_hebdo=ip2^M$ nom_module_rsyn_conf_quotidien=root^M$ nom_module_rsyn_conf_hebdo=hebdo^M$
M$ ... ça me rappelle une boite de Redmond ... ;)
bon là suis un peu paumé !!!
j'ai executé le SED, OK
mais dès que je refait un CAT -A, j'ai encore mes ^M
...
???
j'ai executé le SED, OK
mais dès que je refait un CAT -A, j'ai encore mes ^M
...
???
[d39-adm@d39-appli scripts]# cat -A sauve.conf #sauve.conf^M$ #fichier de conf pour les sauvegarde du serveur^M$ #^M$ #MaJ 11/2009^M$ #^M$ [SAUVE]^M$ sauvegarde_quotidien=oui^M$ sauvegarde_hebdo=oui^M$ nom_module_rsyn_conf_quotidien=root^M$ nom_module_rsyn_conf_hebdo=hebdo^M$ [d39-adm@d39-appli scripts]# sed 's/^M$//' sauve.conf #sauve.conf #fichier de conf pour les sauvegarde du serveur # #MaJ 11/2009 # [SAUVE] sauvegarde_quotidien=oui sauvegarde_hebdo=oui nom_module_rsyn_conf_quotidien=root nom_module_rsyn_conf_hebdo=hebdo [d39-adm@d39-appli scripts]# cat -A sauve.conf #sauve.conf^M$ #fichier de conf pour les sauvegarde du serveur^M$ #^M$ #MaJ 11/2009^M$ #^M$ [SAUVE]^M$ sauvegarde_quotidien=oui^M$ sauvegarde_hebdo=oui^M$ nom_module_rsyn_conf_quotidien=root^M$ nom_module_rsyn_conf_hebdo=hebdo^M$ [d39-adm@d39-appli scripts]#
As-tu mis l'option "-i" à la commande "sed" (si toutefois ta version de sed la supporte...) .
Sinon :
sed -i.bak 's/^M$//' fichier
Sinon :
sed 's/^M$//' fichier > new_fichier