IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

lancer un script programme demarrage d'ubuntu


Sujet :

Administration système

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 75
    Points : 42
    Points
    42
    Par défaut lancer un script programme demarrage d'ubuntu
    Bonjour à tous,

    Je me casse un peu les dents pour lancer une commande que j'ai mis dans uns script au démarrage d'ubuntu.
    J'ai pourtant respecté les différentes prescriptions que j'ai pu trouver sur des tutos.
    Mon service fonctionne, mais pas de démmarrage automatique.

    Voici ce que j'ai fait:

    dans le principe en manuel je lance le programme synergys (synergys serveur) qui va lire le fichier de configuration présent dans /etc/synergy et lancer le programme

    la commande initiale en root ou sudo est : synergys -c /etc/synergy

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    #! /bin/sh -e
     
    DAEMON="/usr/bin/synergys" #ligne de commande du programme
    DEAMON_OPT="-c /etc/synergy"  #argument à utiliser par le programme
    DAEMONUSER="root" #utilisateur du programme
    DEAMON_NAME="synergys" #Nom du programme (doit être identique à l'exécutable)
     
    PATH="/sbin:/bin:/usr/sbin:/usr/bin" #Ne pas toucher
     
    test -x $DAEMON || exit 0
     
    . /lib/lsb/init-functions
     
    d_start () {
            log_daemon_msg "Starting system $DEAMON_NAME Daemon"
    	start-stop-daemon --background --name $DEAMON_NAME --start --quiet --chuid $DAEMONUSER --exec $DAEMON -- $DEAMON_OPT
            log_end_msg $?
    }
     
    d_stop () {
            log_daemon_msg "Stopping system $DEAMON_NAME Daemon"
            start-stop-daemon --name $DEAMON_NAME --stop --retry 5 --quiet --name $DEAMON_NAME
    	log_end_msg $?
    }
     
    case "$1" in
     
            start|stop)
                    d_${1}
                    ;;
     
            restart|reload|force-reload)
                            d_stop
                            d_start
                    ;;
     
            force-stop)
                   d_stop
                    killall -q $DEAMON_NAME || true
                    sleep 2
                    killall -q -9 $DEAMON_NAME || true
                    ;;
     
            status)
                    status_of_proc "$DEAMON_NAME" "$DAEMON" "system-wide $DEAMON_NAME" && exit 0 || exit $?
                    ;;
            *)
                    echo "Usage: /etc/init.d/$DEAMON_NAME {start|stop|force-stop|restart|reload|force-reload|status}"
                    exit 1
                    ;;
    esac
    exit 0
    fichier créé dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     /etc/init.d/synergy_start
    je donne les droits
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chmod 0755 synergy_start
    si je te teste ça fonctionne en lancement manuel

    je le rajoute au démarrage via la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update-rc.d synergy_start defaults
    Il me répond d'ailleurs que le lien existe déjà (ça fait plusieurs fois que je teste donc normal)

    je remarque juste que si je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update-rc.d -f synergy_strart remove
    il reste quand même un lien dans le démarrage, je ne sais pas si c'est normal exemple après la suppression:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ll /etc/rc2.d | grep syn
    lrwxrwxrwx   1 root root    23 déc.   5 11:10 S20synergy_start -> ../init.d/synergy_start*
    lrwxrwxrwx   1 root root    15 avril  7  2014 S50rsync -> ../init.d/rsync*

    Je vous remercie pour votre patiente lecture

    je suis preneur de toutes suggestions.

    ça fait un moment que je tourne, mais pas assez visiblement !

    merci a tous

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 550
    Points : 19 383
    Points
    19 383
    Par défaut
    Bonjour,

    sur Debian, il existe un fichier /etc/init.d/skeleton, dans lequel il y a la mention :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # Description:       This file should be used to construct scripts to be
    #                    placed in /etc/init.d.
    que je comprends comme copier et adapter à ses besoins.
    il semble me souvenir que les INIT INFOS sont nécessaires.

    l'option -e du shebang peut être problématique.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 75
    Points : 42
    Points
    42
    Par défaut
    Bonjour,

    Merci pour votre réponse.
    Ce ne suis pas sous debian, mais sous ubuntu, mais le fichier skeleton est bien présent.
    Concernant mon script il est bien placé dans /etc/init.d

    Par contre qu'entends tu par INIT INFO il faut y mettre quoi comme option.

    Concernant l'option -e j'ai bien tenté sans, mais ça ne change rien.

    si je vais dans les logs, je ne trouve aucune information concernant une éventuelle erreur !

    je te remercie

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 550
    Points : 19 383
    Points
    19 383
    Par défaut
    ajoute ceci sous le shebang
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    exec 2>/tmp/synergys_start-stop.log
    set -x
    exécute, puis montre-nous le fichier /tmp/synergys_start-stop.log.

    Par contre qu'entends tu par INIT INFO il faut y mettre quoi comme option.
    as-tu au moins parcouru le skeleton ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 75
    Points : 42
    Points
    42
    Par défaut retour exécution
    Voici le retour contenu dans le fichier /tmp/synergys_start-stop.log

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
     
     
    + DAEMON=/usr/bin/synergys
    + DEAMON_OPT=-c /etc/synergy
    + DAEMONUSER=root
    + DEAMON_NAME=synergys
    + PATH=/sbin:/bin:/usr/sbin:/usr/bin
    + test -x /usr/bin/synergys
    + . /lib/lsb/init-functions
    + FANCYTTY=
    + [ -e /etc/lsb-base-logging.sh ]
    + . /etc/lsb-base-logging.sh
    + LOG_DAEMON_MSG=
    + d_start
    + log_daemon_msg Starting system synergys Daemon
    + [ -z Starting system synergys Daemon ]
    + log_use_fancy_output
    + TPUT=/usr/bin/tput
    + EXPR=/usr/bin/expr
    + [ -t 1 ]
    + [ xlinux != x ]
    + [ xlinux != xdumb ]
    + [ -x /usr/bin/tput ]
    + [ -x /usr/bin/expr ]
    + /usr/bin/tput hpa 60
    + /usr/bin/tput setaf 1
    + [ -z ]
    + FANCYTTY=1
    + true
    + /usr/bin/tput xenl
    + /usr/bin/tput cols
    + COLS=80
    + [ 80 ]
    + [ 80 -gt 6 ]
    + /usr/bin/expr 80 - 7
    + COL=73
    + log_use_plymouth
    + [ n = y ]
    + plymouth --ping
    + [ -z  ]
    + LOG_DAEMON_MSG=Starting system synergys Daemon
    + return
    + start-stop-daemon --background --name synergys --start --quiet --chuid root --exec /usr/bin/synergys -- -c /etc/synergy
    + log_end_msg 0
    + [ -z 0 ]
    + [ 73 ]
    + [ -x /usr/bin/tput ]
    + log_use_plymouth
    + [ n = y ]
    + plymouth --ping
    + [ -n Starting system synergys Daemon ]
    + log_daemon_msg Starting system synergys Daemon
    + [ -z Starting ]
    + log_use_fancy_output
    + TPUT=/usr/bin/tput
    + EXPR=/usr/bin/expr
    + [ -t 1 ]
    + [ xlinux != x ]
    + [ xlinux != xdumb ]
    + [ -x /usr/bin/tput ]
    + [ -x /usr/bin/expr ]
    + /usr/bin/tput hpa 60
    + /usr/bin/tput setaf 1
    + [ -z 1 ]
    + true
    + true
    + /usr/bin/tput xenl
    + /usr/bin/tput cols
    + COLS=80
    + [ 80 ]
    + [ 80 -gt 6 ]
    + /usr/bin/expr 80 - 7
    + COL=73
    + log_use_plymouth
    + [ n = y ]
    + plymouth --ping
    + [ -z Starting system synergys Daemon ]
    + printf  * Starting system synergys Daemon       
    + /usr/bin/expr 80 - 1
    + /usr/bin/tput hpa 79
    + printf  
    + LOG_DAEMON_MSG=
    + printf \r
    + /usr/bin/tput hpa 73
    + [ 0 -eq 0 ]
    + echo [ OK ]
    + return 0
    + exit 0

    Concernant le skeleton, j'ai regardé et j'avais constaté qu'il y avait une section begin init info.
    n'ayant pas toute la connaissance je ne comprends pas bien l'utilisation.

    je suppose que tu fais référence à cette partie la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ### BEGIN INIT INFO
    # Provides:          skeleton
    # Required-Start:    $remote_fs $syslog
    # Required-Stop:     $remote_fs $syslog
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Example initscript
    # Description:       This file should be used to construct scripts to be
    #                    placed in /etc/init.d.
    ### END INIT INFO

    Concernant l'ajout du code ci-dessous je suppose que ça permet de redirigé le cheminement de l'exécution ?
    mais j'avoue ne pas comprendre grand chose au contenu du code retourné
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    exec 2>/tmp/synergys_start-stop.log
    set -x

    edit:

    concernant le retour du code la seule ligne qui me parle c'est celle ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    + start-stop-daemon --background --name synergys --start --quiet --chuid root --exec /usr/bin/synergys -- -c /etc/synergy
     
    #dans cette partie  /usr/bin/synergys -- -c /etc/synergy
    # peutre que le "--" pose problème devant le -c

  6. #6
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 75
    Points : 42
    Points
    42
    Par défaut
    Bon après plusieurs tests, je n'y parviens toujours pas. tant pis.
    je vous remercie quand même pour votre temps.

Discussions similaires

  1. [XUBUNTU] lancer un script au demarrage
    Par xavier-Pierre dans le forum Ubuntu
    Réponses: 15
    Dernier message: 18/02/2012, 16h18
  2. comment lancer un script au demarrage de debian
    Par sulfurex dans le forum Administration système
    Réponses: 1
    Dernier message: 10/02/2011, 15h54
  3. Réponses: 5
    Dernier message: 04/08/2010, 14h05
  4. lancer deux script en demarrage
    Par sebatlante dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 15/12/2008, 19h44
  5. comment lancer un script au demarrage de windows
    Par casaoui dans le forum Windows Serveur
    Réponses: 5
    Dernier message: 26/02/2008, 18h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo