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 04/06/2007, à 15:42

romeros

Commande au demmarge du serveur

je veut exécuter la commande "mount -a" au demarage du serveur sans avoir a la taper a chaque foi, es ce qu il existe un fichier ou quelque chose pour que lors de chaque demarage le server exécute des commandes ?

#2 Le 04/06/2007, à 16:26

Fengy

Re : Commande au demmarge du serveur

Il faut créer un petit script qui s'éxecutera au démarrage de Linux. Pour cela, on créer le script puis on le rattache au processus de démarrage de Linux (rcS).

sudo nano /etc/init.d/rc.local

Dans ce fichier, tu met :

#!/bin/sh
mount -a

On met les bon droit :

chmod 774 /etc/init.d/rc.local

Et on le rattache au processus de démarrage avec la valeur 33 (plus la valeur est élevé, plus le script sera exécuté en dernier)

sudo ln -s /etc/init.d/local /etc/rcS.d/S33local

Voilà maintenant tu redémarre et ça devrait être bon.


Pour ceux qui ont un problème avec une carte wifi à base d'un chipset rt61 : http://forum.ubuntu-fr.org/viewtopic.php?id=82783

Hors ligne

#3 Le 04/06/2007, à 16:36

nikko

Re : Commande au demmarge du serveur

Euh, peux tu préciser ton problème, car il me semble qu'il existe déjà un script correspondant, /etc/init.d/mountall.sh

#! /bin/sh
### BEGIN INIT INFO
# Provides:          mountall
# Required-Start:    checkfs
# Required-Stop:
# Should-Start:      lvm
# Should-Stop:
# Default-Start:     S
# Default-Stop:
# Short-Description: Mount all filesystems.
# Description:
### END INIT INFO

PATH=/sbin:/bin
. /lib/init/vars.sh

. /lib/lsb/init-functions
. /lib/init/mount-functions.sh

do_start() {
        #
        # Mount local file systems in /etc/fstab.
        #
        pre_mountall
        if [ "$VERBOSE" = no ]
        then
                log_action_begin_msg "Mounting local filesystems"
                mount -a -t proc >/dev/null 2>&1  # Ignore error message due to /proc already being mounted
                ES_TO_REPORT=$?
                mount -a -t noproc,nfs,nfs4,smbfs,cifs,ncp,ncpfs,coda,ocfs2,gfs
                ES=$?
                ES_TO_REPORT=$(($ES_TO_REPORT | $ES))
                if [ 0 = "$ES_TO_REPORT" ]
                then
                        log_action_end_msg 0
                else
                        log_action_end_msg 1 "code $ES_TO_REPORT"
                fi
        else
                log_action_msg "Will now mount local filesystems"
                mount -a -t proc >/dev/null 2>&1  # Ignore error message due to /proc already being mounted
                ES=$?
                [ 0 = "$ES" ] || log_failure_msg "Mounting proc filesystems failed with error code ${ES}."
                mount -a -v -t noproc,nfs,nfs4,smbfs,cifs,ncp,ncpfs,coda,ocfs2,gfs
                ES=$?
                if [ 0 = "$ES" ]
                then
                        log_success_msg "Done mounting local filesystems."
                else
                        log_failure_msg "Mounting local filesystems failed with error code ${ES}."
                fi
        fi

        post_mountall

        case "$(uname -s)" in
          *FreeBSD)
                INITCTL=/etc/.initctl
                ;;
          *)
                INITCTL=/dev/initctl
                ;;
        esac

        #
        # We might have mounted something over /dev, see if
        # /dev/initctl is there.
        #
        if [ ! -p $INITCTL ]
        then
                rm -f $INITCTL
                mknod -m 600 $INITCTL p
        fi
        kill -USR1 1

        #
        # Execute swapon command again, in case we want to swap to
        # a file on a now mounted filesystem.
        #
        # Ignore 255 status due to swap already being enabled
        #
        if [ "$VERBOSE" = no ]
        then
                log_action_begin_msg "Activating swapfile swap"
                swapon -a -e 2>/dev/null || :  # Stifle "Device or resource busy"
                log_action_end_msg 0
        else
                log_action_msg "Will now activate swapfile swap"
                swapon -a -e -v || :
                log_success_msg "Done activating swapfile swap."
        fi
}

case "$1" in
  start|"")
        do_start
        ;;
  restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
        ;;
  stop)
        # No-op
        ;;
  *)
        echo "Usage: mountall.sh [start|stop]" >&2
        exit 3
        ;;
esac

Nikko

Hors ligne

#4 Le 04/06/2007, à 16:52

romeros

Re : Commande au demmarge du serveur

et si je met dans le fichier /etc/rc.local

mount -a

ca marche ?

#5 Le 04/06/2007, à 17:01

Fengy

Re : Commande au demmarge du serveur

Je pense oui, essaye pour voir.
Enfin pour ma part j'ai toujours l'habitude de mettre #!/bin/sh avant


Pour ceux qui ont un problème avec une carte wifi à base d'un chipset rt61 : http://forum.ubuntu-fr.org/viewtopic.php?id=82783

Hors ligne

#6 Le 04/06/2007, à 17:04

nikko

Re : Commande au demmarge du serveur

romeros a écrit :

et si je met dans le fichier /etc/rc.local

mount -a

ca marche ?

Oui, c'est le fichier qui est lu par /etc/init.d/rc.local installé par défaut.

#! /bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin
[ -f /etc/default/rcS ] && . /etc/default/rcS
. /lib/lsb/init-functions

do_start() {
        if [ -x /etc/rc.local ]; then
                log_begin_msg "Running local boot scripts (/etc/rc.local)"
                /etc/rc.local
                log_end_msg $?
        fi
}

case "$1" in
    start)
        do_start
        ;;
    restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
        ;;
    stop)
        ;;
    *)
        echo "Usage: $0 start|stop" >&2
        exit 3
        ;;
esac

Mais encore une fois il y a déjà un script qui fait ça.

Hors ligne

#7 Le 04/06/2007, à 17:13

romeros

Re : Commande au demmarge du serveur

merci bocoup:lol: