Forum debian-fr.org

Rechercher:

* Connexion   * M’enregistrer

* FAQ    * Rechercher





Poster un nouveau sujet Répondre au sujet  [ 3 messages ] 
Auteur Message
MessagePosté: 18 Mai 2012 14:14 
Hors ligne
Nouvel utilisateur

Inscription: 30 Oct 2011 10:48
Messages: 36
Hello,

je me prend tout le temps la tête sur l'utilisation des quotes / double quote au sein de script bash ...
Voici le cas ici.

J'ai une fonction :

Code:
function retry {
   nTrys=0
   maxTrys=3
   status=256
   until [ $status == 0 ] ; do
      $*
      status=$?
      nTrys=$(($nTrys + 1))
      if [ $nTrys -gt $maxTrys ] ; then
            echo "Number of re-trys exceeded. Exit code: $status"
            exit $status
      fi
      if [ $status != 0 ] ; then
            echo "Failed (exit code $status)... retry $nTrys"
            sleep 60
      fi
   done
}


Mon bout de code :

Code:
PostgresDBpresent=`psql -t -h $REMOTE_HOST -U $PG_USER -d postgres -c "select datname from pg_database where (datname LIKE 'postgres')" 2>> $SCRIPT_LOG_FILE"`


Le but est donc d'utiliser la fonction retry dans l'utilisation de la commande psql ...

Comment feriez-vous ?
Code:
PostgresDBpresent=`retry psql -t -h $REMOTE_HOST -U $PG_USER -d postgres -c "select datname from pg_database where (datname LIKE 'postgres')" 2>> $SCRIPT_LOG_FILE"`

psql: warning: extra command-line argument "datname" ignored
psql: warning: extra command-line argument "from" ignored
psql: warning: extra command-line argument "pg_database" ignored
psql: warning: extra command-line argument "where" ignored
psql: warning: extra command-line argument "(datname" ignored
psql: warning: extra command-line argument "LIKE" ignored
psql: warning: extra command-line argument "'postgres')" ignored
ERROR:  syntax error at end of input
LINE 1: select
              ^
^Cpsql: warning: extra command-line argument "datname" ignored
psql: warning: extra command-line argument "from" ignored
psql: warning: extra command-line argument "pg_database" ignored
psql: warning: extra command-line argument "where" ignored
psql: warning: extra command-line argument "(datname" ignored
psql: warning: extra command-line argument "LIKE" ignored
psql: warning: extra command-line argument "'postgres')" ignored
ERROR:  syntax error at end of input
LINE 1: select
              ^
^Cpsql: warning: extra command-line argument "datname" ignored
psql: warning: extra command-line argument "from" ignored
psql: warning: extra command-line argument "pg_database" ignored
psql: warning: extra command-line argument "where" ignored
psql: warning: extra command-line argument "(datname" ignored
psql: warning: extra command-line argument "LIKE" ignored
psql: warning: extra command-line argument "'postgres')" ignored
ERROR:  syntax error at end of input
LINE 1: select
              ^
^Cpsql: warning: extra command-line argument "datname" ignored
psql: warning: extra command-line argument "from" ignored
psql: warning: extra command-line argument "pg_database" ignored
psql: warning: extra command-line argument "where" ignored
psql: warning: extra command-line argument "(datname" ignored
psql: warning: extra command-line argument "LIKE" ignored
psql: warning: extra command-line argument "'postgres')" ignored
ERROR:  syntax error at end of input
LINE 1: select
              ^




Haut
 Profil  
 
MessagePosté: 18 Mai 2012 15:20 
Hors ligne
Nouvel utilisateur

Inscription: 30 Oct 2011 10:48
Messages: 36
Bon me suis débrouillé avec ça :

Code:
Req="psql -t -h $REMOTE_HOST -U $PG_USER -d postgres -c \"select datname from pg_database where (datname LIKE 'postgres')\" 2>> $SCRIPT_LOG_FILE"
PostgresDBpresent=`retry eval "$Req"`


Haut
 Profil  
 
MessagePosté: 18 Mai 2012 16:01 
Hors ligne
Nouvel utilisateur

Inscription: 14 Juil 2011 00:00
Messages: 28
salut,

ton intention est bien de savoir si le serveur sql est joignable, c'est ça?
bah, moi, je me serais servi de nc
Code:
until nc -z $server $portPsql; do sleep 60; done

sans nc, en envoyant la requête sql quand même
Code:
until psql ... || [ $((essais++)) -eq 3 ]
do sleep 60
done

la fonction retry doit-elle servir pour d'autres commandes?


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 3 messages ] 

Index du forum » Divers » Programmation


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Aller à:  
Flux RSS Flux RSS Liste des flux Liste des flux
Powered by phpBB® Forum Software © phpBB Group
Traduction par: phpBB-fr.com
SEO
[ Time : 1.095s | 12 Queries | GZIP : Off ]