Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2376 connectés 

 


Dernière réponse
Sujet : [postgresql] psql, cron, password
Aragorn_1er Pour expect tu regarde dans /usr/share/doc/expect/examples
Y a pas mal d exemple ...
 
A+

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Aragorn_1er Pour expect tu regarde dans /usr/share/doc/expect/examples
Y a pas mal d exemple ...
 
A+
GUG oui c'est ce que j etais en train de voir aussi ;)
mais la je v au plus vite ;) parceque plein de choses ...
the_fireball dans pg_hba.conf (ou un truc comme ca), tu peux faire un peu mieux. Du genre, créer un user specifique aux traitements sur pgsl, mettre ident comme niveau de securite et lancer ta tache sous cette user. Si tu as une deb, inspire toi de la conf du user postgres qui sert à la maintenance de la base
GUG merci beaucoup :)))  
je teste ca des que ma fonction est finie :/
(d ailleur c'est plus 'select fc_comm();'  )
au niveau secu j utilise une woody +2.4.18 et je sais pas :D  
je vais aussi regarder rapidement expect mais la solution de unk00 ainsi presentée m'a l'air for simple à mettre en ouevre ;)
unk00 Une autre solution est d'utiliser la variable d'environnement PGPASSWORD : par exemple, créer un fichier ~/.psql-secret (avec un chmod 600 ~/.psql-secret)


export PGUSER=benoit
export PGHOST=192.168.0.5
export PGPORT=5432
export PGDATABASE=data
export PGPASSWORD=mdp_en_clair


 
 Puis un script (~/sql_com.sh , avec un chmod +x ~/sql_com.sh):


#!/bin/sh
[ -f $HOME/.psql-secret ] && source $HOME/.psql-secret
 
/usr/bin/psql -c 'fc_com();' -o /var/log/sql_com.log
 
unset PGPASSWORD


 
Et lancer ce script par cron.

Code :
  1. 30 11 * * 1-5 /path/to/sql_com.sh > /dev/null


 
 Note : Ça peut poser un problème de sécurité dans le sens où certaines versions de "ps" (selon l'OS utilisé) peuvent afficher toutes les variables d'environnement d'un processus, même si l'utilisateur n'est pas le propriétaire du processus (donc ça signifie que n'importe qui loggué sur la machine pourrait visualiser la variable PGPASSWORD). Ça ne sera bien sûr possible que pendant l'exécution du script. En tout cas, c'est à vérifier.
 Bon, avec procps 2.0.16 sur un Linux 2.4.23, ça marche comme il faut (c'est à dire que seules les variables de l'utilisateur qui lance "ps" sont affichées).

Aragorn_1er Regarde du coter d expect pour le password.
Ca te permet de passer des params à des invites diverses ...
 
A+
GUG Salut,
je doit lancer une fonction a 11h30 du lundi au vendredi inclus.
dans /etc/cron.d/sql j'ai mis ca :  
 

Code :
  1. 30 11 * * 1-5 /usr/bin/psql -h 192.168.0.5 -U benoit -d data -c 'fc_com();' -o /var/log/sql_com.log  &&


 
 
Est ce correct ?
 
mon probleme est que psql va demander un mot de passe, comment puis je faire pour lui passer sans etre devant le clavier ? (pas trouver dans man psql...)
 
merci d avance


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)