Bonsoir,
J'ai un petit script que je veux exécuter au démarrage de la machine, bien qu'il ne s'exécute qu'une fois, je l'ai traité comme un service. (ce script lance une petite application java de mise à l'heure sur un équipement qui ne possède pas d'horloge sauvegardée).
Le script /etc/init.d/horloge
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
    DAEMON="/opt/jdk1.7.0_60/bin/java"
    DAEMON_OPT="-jar /usr/local/lib/horloge.jar"  # fichier à exécuter
    NAME="horloge.jar" # Nom du programme
    PIDFILE=/var/run/$NAME.pid
 
    PATH="/sbin:/bin:/usr/sbin:/usr/bin"
    export JAVA_HOME=/opt/jdk1.7.0_60
    export PATH=${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin
 
    test -e $DAEMON || exit 0
 
    . /lib/init/vars.sh
    . /lib/lsb/init-functions
 
    start_d () {
            log_daemon_msg "Start $NAME Daemon"
	    start-stop-daemon --make-pidfile --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPT
    }
 
..........
et les liens symboliques :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
root@ubuntu:/home/hubert# update-rc.d horloge defaults
Adding system startup for /etc/init.d/horloge ...
   /etc/rc0.d/K20horloge -> ../init.d/horloge
   /etc/rc1.d/K20horloge -> ../init.d/horloge
   /etc/rc6.d/K20horloge -> ../init.d/horloge
   /etc/rc2.d/S20horloge -> ../init.d/horloge
   /etc/rc3.d/S20horloge -> ../init.d/horloge
   /etc/rc4.d/S20horloge -> ../init.d/horloge
   /etc/rc5.d/S20horloge -> ../init.d/horloge
Si j'exécute ce script en ligne de commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
root@ubuntu:/home/hubert# date
Tue Jan 10 12:45:17 CET 2017
root@ubuntu:/home/hubert# /etc/init.d/horloge start
 * Start horloge.jar Daemon                                                                                                                     root@ubuntu:/home/hubert# date
Fri Jan 20 21:22:35 CET 2017
J'ai bien une mise à l'heure du système; par contre lors d'un reboot si je passe bien dans le script (le fichier /run/horloge.jar.pid est créé), je n'ai pas de mise à l'heure. Comme si il y avait un problème sur le programme java : variables d'environnement ou autre?
Des pistes à explorer?