Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/08/2012, à 13:06

R2D2-Ubuntu

Help problème de script avec changement d'user

Bonjour à tous,
Alors voilà mon problème est de taille :
Je suis actuellement en train d'installer postgresql grâce aux sources (je ne veux pas utiliser les dépots ubuntu).
Je lance les commandes suivantes à la main :
(Les variables sont bien placées et le user postgres est bien créé)

su $pguser
$POSTGRES_HOME/bin/initdb -D $POSTGRES_HOME/data
$POSTGRES_HOME/bin/postgres -D $POSTGRES_HOME/data 2>&1 &
sleep 30
$POSTGRES_HOME/bin/createuser -P nomDuUser
$POSTGRES_HOME/bin/createdb maBD

etc...

Tout fonctionne bien.

Cependant lorsque je le met dans un script sh : configPostgres.sh et que je le lance avec la commande sh postgres.sh, rien ne fonctionne et je n'ai rien qui s'affiche au niveau du terminal. Hormis la demande du mot de passe pour l'user postgres.

Ma question est la suivante :
L'intégralité des scripts est lancé en sudo, j'aimerais pouvoir lancer des commandes en utilisateur postgres tout en gardant le répertoire courant et les variables que j'ai définies dans un fichier ( Je ne comprend pas pourquoi mes variables de /etc/environment ne sont pas prises en compte.

Merci par avance, j'espère que j'ai été clair car ce n'est pas évident d'expliquer.
J'ai testé sudo -u postgres 'commande' , su postgres -c 'commandes' mais cela ne fonctionne pas car il ne garde pas le répertoire courant et mes variables ne sont pas conservées (variables étant dans le répertoire courant...)

Dernière modification par R2D2-Ubuntu (Le 20/08/2012, à 16:24)

Hors ligne

#2 Le 20/08/2012, à 17:07

vince gakusei

Re : Help problème de script avec changement d'user

ce ne serait pas possible de renseigner tes variables à l'intérieur du script? comme ça tu serais sûr qu'elles seraient préservées.

Dernière modification par vince gakusei (Le 20/08/2012, à 17:07)

Hors ligne

#3 Le 21/08/2012, à 08:51

credenhill

Re : Help problème de script avec changement d'user

hello
pour que les commandes soient exécutées par le su utiliser l'option -c

su $pguser -c "$POSTGRES_HOME/bin/initdb -D $POSTGRES_HOME/data
$POSTGRES_HOME/bin/postgres -D $POSTGRES_HOME/data 2>&1 &
sleep 30
$POSTGRES_HOME/bin/createuser -P nomDuUser
$POSTGRES_HOME/bin/createdb maBD
..."

Hors ligne