Contenu | Rechercher | Menus

Annonce

Le forum rencontre en ce moment quelques soucis de charge, il est possible qu'une erreur soit affichée quand vous postez un message, ne rechargez pas la page au risque de poster une seconde fois votre message

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 02/07/2012, à 13:53

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

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 les mardis à Bordeaux : Giroll
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4

Hors ligne

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

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

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 les mardis à Bordeaux : Giroll
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4

Hors ligne

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

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

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 les mardis à Bordeaux : Giroll
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4

Hors ligne

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

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

Haut de page ↑