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 02/07/2012, à 13:53

jmsth

Arrêt et démarrage MySql dans un script: erreur 123 [Résolu]

Bonjour,
J'essaie d'arrêter MySql dans un script qui s'exécute durant la nuit et fait une sauvegarde ce certaines données.

J'utilise la commande suivante:
cd /
usr/bin/service mysql stop 1>/dev/null 2>>/var/log/backup/backupError.log

Si j'exécute cette ligne (sans les 1> et 2>) en ligne de commande tout fonctionne.
Lorsque j'exécute le script, mon log contient le message suivant:
usr/bin/service : 123: exec: stop : not found

Quelqu'un à une idée ?

Dernière modification par jmsth (Le 11/07/2012, à 14:13)

Hors ligne

#2 Le 09/07/2012, à 06:58

nesthib

Re : Arrêt et démarrage MySql dans un script: erreur 123 [Résolu]

peux-tu donner le retour de la commande :

echo $PATH

ainsi que le contenu du fichier de log après ajout de la commande suivante dans ton script :

echo $PATH >/tmp/log

est-ce que cela fonctionne si tu utilises /etc/init.d/mysql à la place service ?


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#3 Le 10/07/2012, à 15:00

jmsth

Re : Arrêt et démarrage MySql dans un script: erreur 123 [Résolu]

Voici le $PATH:
/usr/bin:/bin

etc/init.d/mysq ne fonctionne pas mieux. Voici le résultat dans le log:
etc/init.d/mysql: 54: etc/init.d/mysql: initctl: not found

Je n'ai pas mis /etc mais etc étant donné que le script fait un cd / auparavant.

Merci pour ton aide

Jean-Marc

Hors ligne

#4 Le 10/07/2012, à 16:10

nesthib

Re : Arrêt et démarrage MySql dans un script: erreur 123 [Résolu]

Pourquoi utilises-tu « cd / » suivi de ta commande sans « / » initial au lieu de mettre directement le chemin absolu ? (je dois avouer que c'est une pratique étrange)

Tu n'as pas donné le retour du PATH depuis le script ? N'en as-tu aucun ?

Peux-tu donner le retour des commandes :

ls /etc/init/
ls /etc/init.d/

et le contenu du fichier :

/etc/init/mysql.conf

Dernière question, pour effectuer ces opérations tu as besoin des droits root. Comment lances-tu ton script en root ?


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#5 Le 10/07/2012, à 16:32

jmsth

Re : Arrêt et démarrage MySql dans un script: erreur 123 [Résolu]

J'utilise CD / parce que mon script contient aussi un tar de certaines données et qu'il y avait certains problèmes si je n'utilisais pas le répertoire absolu.

Le contenu de la variable $PATH que tu m'as demandée et qui est retournée par le script est /usr/bin:/bin

Je ne lance pas le script manuellement: il démarre durant la nuit à partir d'un cron; il est donc en root par défaut.

Voici ce que ls /etc/init/ retourne:

acpid.conf          mysql.conf
alsa-restore.conf      networking.conf
alsa-store.conf          network-interface.conf
anacron.conf          network-interface-container.conf
apport.conf          network-interface-security.conf
atd.conf          network-manager.conf
avahi-daemon.conf      nmbd.conf
binfmt-support.conf      plymouth.conf
bluetooth.conf          plymouth-log.conf
console.conf          plymouth-splash.conf
console-setup.conf      plymouth-stop.conf
container-detect.conf      plymouth-upstart-bridge.conf
control-alt-delete.conf   procps.conf
cron.conf          rc.conf
cryptdisks-enable.conf      rcS.conf
cryptdisks-udev.conf      rc-sysinit.conf
cups.conf          resolvconf.conf
dbus.conf          rfkill-restore.conf
dmesg.conf          rfkill-store.conf
failsafe.conf          rsyslog.conf
failsafe-x.conf          setvtrgb.conf
flush-early-job-log.conf  shutdown.conf
friendly-recovery.conf      smbd.conf
hostname.conf          tty1.conf
hwclock.conf          tty2.conf
hwclock-save.conf      tty3.conf
hybrid-gfx.conf          tty4.conf
irqbalance.conf          tty5.conf
lightdm.conf          tty6.conf
modemmanager.conf      udev.conf
module-init-tools.conf      udev-fallback-graphics.conf
mountall.conf          udev-finish.conf
mountall-net.conf      udevmonitor.conf
mountall-reboot.conf      udevtrigger.conf
mountall-shell.conf      ufw.conf
mounted-debugfs.conf      upstart-socket-bridge.conf
mounted-dev.conf      upstart-udev-bridge.conf
mounted-proc.conf      ureadahead.conf
mounted-run.conf      ureadahead-other.conf
mounted-tmp.conf      wait-for-state.conf
mounted-var.conf      whoopsie.conf

Voici ce que ls /etc/init.d/ retourne:

acpid           hwclock-save            resolvconf
acpi-support       irqbalance            rfkill-restore
alsa-restore       kerneloops            rfkill-store
alsa-store       killprocs            rsync
anacron           lightdm            rsyslog
apache2           modemmanager            saned
apparmor       module-init-tools        sendsigs
apport           mysql            setvtrgb
atd           networking            single
avahi-daemon       network-interface        skeleton
binfmt-support       network-interface-container    smbd
bluetooth       network-interface-security    speech-dispatcher
bootlogd       network-manager        stop-bootlogd
brltty           nmbd                stop-bootlogd-single
console-setup       ondemand            sudo
cron           plymouth            udev
cryptdisks       plymouth-log            udev-fallback-graphics
cryptdisks-early   plymouth-splash        udev-finish
cups           plymouth-stop        udevmonitor
dbus           plymouth-upstart-bridge    udevtrigger
dmesg           postfix            ufw
dns-clean       pppd-dns            umountfs
failsafe-x       procps            umountnfs.sh
friendly-recovery  pulseaudio            umountroot
gdomap           rc                unattended-upgrades
grub-common       rc.local            urandom
halt           rcS                whoopsie
hostname       README            winbind
hwclock           reboot            x11-common

Le fichier /etc/init/mysql.conf contient:

# MySQL Service

description     "MySQL Server"
author          "Mario Limonciello <superm1@ubuntu.com>"

start on runlevel [2345]
stop on starting rc RUNLEVEL=[016]

respawn
respawn limit 2 5

env HOME=/etc/mysql
umask 007

# The default of 5 seconds is too low for mysql which needs to flush buffers
kill timeout 300

pre-start script
    #Sanity checks
    [ -r $HOME/my.cnf ]
    [ -d /var/run/mysqld ] || install -m 755 -o mysql -g root -d /var/run/mysqld
    /lib/init/apparmor-profile-load usr.sbin.mysqld
    LC_ALL=C BLOCKSIZE= df --portability /var/lib/mysql/. | tail -n 1 | awk '{ exit ($4<4096) }'
end script

exec /usr/sbin/mysqld

post-start script
   for i in `seq 1 30` ; do
        /usr/bin/mysqladmin --defaults-file="${HOME}"/debian.cnf ping && {
            exec "${HOME}"/debian-start
            # should not reach this line
            exit 2
        }
        statusnow=`status`
        if echo $statusnow | grep -q 'stop/' ; then
            exit 0
        elif echo $statusnow | grep -q 'respawn/' ; then
            exit 1
        fi
        sleep 1
    done
    exit 1
end script

Merci pour ton aide

Jean-Marc

Hors ligne

#6 Le 10/07/2012, à 17:40

nesthib

Re : Arrêt et démarrage MySql dans un script: erreur 123 [Résolu]

Si le PATH est bien celui retourné par le script, il manque des chemins importants.

Ajouter ceci au script ou à crontab devrait résoudre ton problème :

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

NB. même si du dois faire un « cd / » je t'encourage à utiliser le chemin absolu pour tes binaires au lieu de ce « etc/… », ça ne prend pas beaucoup plus de place et ça fait beaucoup plus propre.


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#7 Le 11/07/2012, à 14:13

jmsth

Re : Arrêt et démarrage MySql dans un script: erreur 123 [Résolu]

Tout fonctionne.

Le problème venait, effectivement, du PATH.

Merci beaucoup.

Jean-Marc

Hors ligne