Démarrer un service au démarrage de FreeBSD

Forum d'assistance et d'échange sur l'installation, la configuration, et l'utilisation des système Linux et BSD. Vous pouvez y poster vos questions concernant ces systèmes d'exploitation en faisant l'effort préalable de rechercher dans le forum, dans les manuels et les documentations que la réponse n'y figure pas.

Modérateur: modos Ixus

Démarrer un service au démarrage de FreeBSD

Messagepar foucaulo » 04 Nov 2004 22:54

Bonjour à tous,
Je sais que ce sujet est souvent posté mais ça fait longtemps que je cherche et sans succès alors aider moi svp:
Je voudrais démarrer mes services aux démarrage, j'ai même fait un script pour ça et sans succes :(.
mon script est dans /etc/rc.d/ et je l'ai inclus dans /etc/netstart . Lorsque je démarre Freebsd 5.2.1, aucun de mes service ne démarrent pourtant lorsque je tappe la commande : /etc/netstart, ils démarrent quelqu'un peu m'aider ?? merci d'avance !!
Bonne journée!
Loic
foucaulo
Quartier Maître
Quartier Maître
 
Messages: 20
Inscrit le: 20 Oct 2004 17:48

Messagepar NFC » 12 Nov 2004 10:17

C'est pas vraiment dans l'ordre des choses de procéder ainsi sous FreeBSD!
Les routines de démarrages de FreeBSD sont prévues pour gérer très facilement le démarrage de services.
Pour rajouter un service au démarrage, il faut commencer par rajouter un script, de préférence dans /usr/local/etc/rc.d (comme ça /etc n'est pas "polué" par les scripts persos, il ne contiendra que les scripts du système).
Il est vivement conseillé d'utiliser le nouveau "format" pour ce genre de script, basé sur les routines de rc.subr.

Ensuite il faut place une ligne dans le fichier /etc/rc.conf plaçant la variable de contrôle à "YES".

Exemple avec pure-ftpd:
  • /usr/local/etc/rc.d/pure-ftpd.sh
    Code: Tout sélectionner
    #!/bin/sh

    # PROVIDE: pureftpd
    # REQUIRE: NETWORKING SERVERS
    # BEFORE: DAEMON
    # KEYWORD: FreeBSD shutdown

    . /etc/rc.subr

    name=pureftpd
    rcvar=`set_rcvar`

    command=/usr/local/sbin/pure-config.pl
    pureftpd_config=${pureftpd_config:-"/usr/local/etc/pure-ftpd.conf"}
    required_files=${pureftpd_config}
    pidfile=/var/run/pure-ftpd.pid
    procname=pure-ftpd

    pureftpd_enable=${pureftpd_enable:-"NO"}
    command_args=${pureftpd_config}

    load_rc_config $name
    run_rc_command "$1"
  • /etc/rc.conf
    Code: Tout sélectionner
    [...]
    pureftpd_enable="YES"


Avec cela, pureftpd est lancé au démarrage.
Attention à nouveau, les commentaires en haut du script n'en sont pas tout à fait ! Ils sont utilisés par rcorder, un des binaires lancés au démarrage de FreeBSD, pour trier l'ordre de lancement des différents services en fonction de leurs dépendances. De même, l'extension du script n'est pas anodine.

Pour plus d'info:
man rc (pour l'explication des phases de démarrage)
man rc.subr (pour l'explications des différentes fonctions à utiliser ou utilisables dans le script)
NFC
Matelot
Matelot
 
Messages: 2
Inscrit le: 12 Nov 2004 09:49

!!!!!

Messagepar foucaulo » 12 Nov 2004 15:53

Merci!!
Tu es fort!
Le premier à me fournir une réponse qui m'aidera.
merci encore!
Loic
foucaulo
Quartier Maître
Quartier Maître
 
Messages: 20
Inscrit le: 20 Oct 2004 17:48


Retour vers Linux et BSD (forum généraliste)

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Google [Bot] et 1 invité