pb dans script de demarrage

pb dans script de demarrage - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 20-06-2004 à 19:19:24    

Hello :)
 
Bon j'ai un petib probleme dans mon script de boot perso (/etc/rc.local appele depuis /etc/rc)
 
Voici le code concerné.
 

Code :
  1. GREEN_BEGIN="\033[1;32m"
  2. RED_BEGIN="\033[1;31m"
  3. COLOR_END="\033[0m"
  4. BOOT_LOG_STDOUT_FILE="/tmp/bootlog.out"
  5. BOOT_LOG_STDERR_FILE="/tmp/bootlog.err"
  6. call_command()
  7. {
  8.     echo -n "$1"
  9.     $2 > $BOOT_LOG_STDOUT_FILE 2> $BOOT_LOG_STDERR_FILE
  10.     RESULT=$?
  11.     if [ $RESULT -eq 0 ]
  12.         then
  13.         echo "[$GREEN_BEGIN OK $COLOR_END]"
  14.     else
  15.         echo "[$RED_BEGIN KO $COLOR_END]"
  16.     fi
  17. }
  18. # Nettoyage Apache
  19. rm -f /var/www/logs/{ssl_mutex,httpd.lock,accept.lock}.*
  20. call_command "Connexion au net...                 " "ppp -ddial -unit0 pppoe"
  21. call_command "Lancement du demon sshd             " "/usr/sbin/sshd ${sshd_flags}"
  22. call_command "Lancement du demon HTTPd...         " "/usr/sbin/httpd ${httpd_flags}"
  23. call_command "Lancement du demon FTPd...          " "/usr/local/sbin/pure-ftpd -4ABEw"
  24. call_command "Lancement du demon Samba...         " "/usr/local/libexec/smbd && /usr/local/libexec/nmbd"
  25. call_command "Lancement du demon MySQLd...        " "/usr/local/bin/mysqld_safe --socket=/var/www/mysql.sock &"
  26. call_command "Lancement du demon PostGreSQLd...   " "su -l _postgresql -c \"/usr/local/bin/pg_ctl start -D /var/postgresql/data -l /var/\
  27. postgresql/logfile -o '-D /var/postgresql/data'\""
  28. call_command "Lancement du demon Cron...          " "cron"


 
Voila il y a deux problemes distincts :
 
pour le serveur MySQL : si je laisse la ligne qui le lance le script ne va pas au dela de cette commande, c'est à dire le serveur mysql est lancé mais ca ne continue pas, comme si le process n'etait pas mis en background. Je pense que ce n'est pas la methode propre pour lancer mysqld mais en lisant le man page je ne voies aucune option permettant de le "daemonizer". Comment faire ca proprement ?
 
pour le serveur Postgresql : il semble qu'il y ait une erreur de syntaxe dans la commande lorsqu'elle est executee en mode script. Car si je lance cette commande la :

Code :
  1. su -l _postgresql -c "/usr/local/bin/pg_ctl start -D /var/postgresql/data -l /var/\
  2. postgresql/logfile -o '-D /var/postgresql/data'"

alors ca lance bien le serveur. Je pense que c'est un pb a cause du quoting.
 
 
Merci de votre aide.


Message édité par Nenelle le 20-06-2004 à 19:21:31

---------------
http://chilax.com/forum/index.php?showforum=46 => !!!
Reply

Marsh Posté le 20-06-2004 à 19:19:24   

Reply

Marsh Posté le 20-06-2004 à 19:20:59    

Heu precision, le "/var/\" que vous voyez dans la cmd pr postgre le \ c juste pcq la ligne est scindee en 2 parties


---------------
http://chilax.com/forum/index.php?showforum=46 => !!!
Reply

Marsh Posté le 21-06-2004 à 09:55:20    

Reply

Marsh Posté le 22-06-2004 à 23:00:21    

tjs personne :( ?


---------------
http://chilax.com/forum/index.php?showforum=46 => !!!
Reply

Marsh Posté le 22-06-2004 à 23:22:40    

Heu par curiosité tu utilise quoi comme distribution ?
 
Sinon vu ta fonction call_command, l'execution de mysqld va se faire ainsi:
 
/usr/local/bin/mysqld_safe --socket=/var/www/mysql.sock & > $BOOT_LOG_STDOUT_FILE 2> $BOOT_LOG_STDERR_FILE  
 
ce qui n'est effectivement pas correct qque part ...


Message édité par MaxMaverick le 22-06-2004 à 23:32:17
Reply

Marsh Posté le 23-06-2004 à 00:08:16    

maxmaverick a écrit :

Heu par curiosité tu utilise quoi comme distribution ?
 
Sinon vu ta fonction call_command, l'execution de mysqld va se faire ainsi:
 
/usr/local/bin/mysqld_safe --socket=/var/www/mysql.sock & > $BOOT_LOG_STDOUT_FILE 2> $BOOT_LOG_STDERR_FILE  
 
ce qui n'est effectivement pas correct qque part ...


 
merci de ta reponse.
 
pkoi n'est ce pas correct ? on peut pourtant faire tout aussi bien ls & > toto que ls > toto &
 
la distrib est une openbsd 3.5


---------------
http://chilax.com/forum/index.php?showforum=46 => !!!
Reply

Marsh Posté le 23-06-2004 à 00:23:58    

ca depend du shell alors, parce que sous linux un  
ls & > tmp lance ls en background et crée le fichier tmp

Reply

Marsh Posté le 23-06-2004 à 00:39:13    

maxmaverick a écrit :

ca depend du shell alors, parce que sous linux un  
ls & > tmp lance ls en background et crée le fichier tmp


 
ok en effet il y a une difference entre ls & > tmp et ls > tmp &
 
mais en fait les redirections la c'est juste pour log, quand ca marchera les deux seront mis à /dev/null
 
le pb ne vient pas de la :(


---------------
http://chilax.com/forum/index.php?showforum=46 => !!!
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed