##################
Gestion du service
##################


Avec systemd
============

Sur les systèmes fonctionnant avec ``systemd``, dont RHEL 7, les
commandes usuelles de gestions des services peuvent être utilisées.

L'unité systemd pour Waarp Manager est fournie dans les packages sur les
systèmes utilisant systemd. Si vous utilisez les archives autonomes,
voir ci-dessous la :ref:`procédure d'ajout du service <systemd-service-unit>`.


.. code-block:: bash

   # Démarrage du service
   systemctl start waarp-manager

   # Arrêt du service
   systemctl stop waarp-manager

   # Statut du service
   systemctl status waarp-manager

   # Redémarrage du service
   systemctl restart waarp-manager

   # Activation du service au démarrage du serveur
   systemctl enable waarp-manager

   # Désactivation du service au démarrage du serveur
   systemctl disable waarp-manager



.. _systemd-service-unit:

Utilisation de systemd avec les archives autonomes
--------------------------------------------------

Si votre système d'exploitation utilise systemd, vous pouvez gérer
votre instance de Waarp Manager avec.

Créez le fichier ``/etc/systemd/system/waarp-manager.service`` avec le
contenu suivant, en remplaçant ``/path/to/archive/root`` par le chemin
vers le dossier d'extraction de l'archive :

.. code-block:: ini

   [Unit]
   Description=Waarp Manager server

   [Service]
   Type=simple
   WorkingDirectory=/path/to/archive/root
   ExecStart=./bin/waarp-manager server -c ./etc/waarp-manager.ini
   Restart=on-failure

   [Install]
   WantedBy=multi-user.target

Pour activer le démarrage automatique de Waarp Manager au démarrage du
serveur, eutilisez la commande :

.. code-block:: bash

   systemctl enable waarp-manager


Avec SysVinit
=============

Sur les systèmes fonctionnant avec ``SysVinit``, dont RHEL 6, les
commandes usuelles de gestions des services peuvent être utilisées.

Le script d'init pour Waarp Manager est fourni dans les packages sur les
systèmes utilisant SysVinit.


.. code-block:: bash

   # Démarrage du service
   /etc/init.d/waarp-manager start

   # Arrêt du service
   /etc/init.d/waarp-manager stop

   # Statut du service
   /etc/init.d/waarp-manager status

   # Redémarrage du service
   /etc/init.d/waarp-manager restart

   # Activation du service au démarrage du serveur
   update-rc.d waarp-manager defaults # Systèmes basés sur Debian
   chkconfig --add waarp-manager      # Systèmes basés sur Red Hat

   # Désactivation du service au démarrage du serveur
   update-rc.d -f waarp-manager remove # Systèmes basés sur Debian
   chkconfig --del waarp-manager       # Systèmes basés sur Red Hat



Avec les archives autonomes
===========================

Linux
-----

Le service se gère avec le script ``manage.sh`` situé dans le dossier
``bin`` à la racine du dossier d'extraction de l'archive :

.. code-block:: bash

  ./bin/manage.sh <commande>

Les commandes suivantes sont disponibles :

Commande ``manage.sh start``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Démarre Waarp Manager.

.. note::

  Si le port choisi est inférieur à 1024, le service doit être lancé
  avec l'utilisateur root.

Le nombre de CPU utilisés par Waarp Manager peut être défini par la
variable d’environnement :envvar:`GOMAXPROCS`. Par défaut, le nombre de cœurs
CPU du serveur est utilisé.

Codes de retour :

===== =============
Code  Signification
===== =============
``0`` Le lancement de l'application a réussi
``1`` Le lancement a échoué. La raison de l'échec peut se trouver un des :ref:`fichiers de traces <log-management>`.
``2`` Le serveur est déjà lancé
===== =============



Commande ``manage.sh stop``
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Lance la procédure d'arrêt de Waarp Manager. Le script attend 2 minutes
que Waarp Manager s'arrête. passé ce délais, le script rend la main,
**mais la procédure d'arrêt continue. L'arrêt définitif de Waarp Manager
interviendra dès que tous les processus internes en cours seront terminés**.
Les codes retours suivants sont possibles :

Codes de retour :

===== =============
Code  Signification
===== =============
``0`` L'arrêt de l'application a réussi
``1`` L'arrêt a échoué. La raison de l'échec peut se trouver un des :ref:`fichiers de traces <log-management>`.
``2`` Le serveur est déjà arrêté
``3`` L'arrêt est en cours, mais la procédure d'arrêt n'est pas encore terminée.
===== =============



Commande ``manage.sh restart``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Redémarre Waarp Manager.

===== =================================
Code  Signification
===== =================================
``0`` Le redémarrage de l'application a réussi
``1`` Le redémarrage a échoué. La raison de l'échec peut se trouver un des :ref:`fichiers de traces <log-management>`.
``2`` Le serveur est déjà arrêté
``3`` L'arrêt est en cours, mais la procédure d'arrêt n'est pas encore terminée.
===== =================================



Commande ``manage.sh force-stop``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Envoi un signal KILL à Waarp-Manager

Codes de retour :

===== =============
Code  Signification
===== =============
``0`` L'application est démarrée.
``1`` L'application est arrêtée.
``2`` Le fichier contenant l'identifiant du processus n'a pas été trouvé ou ne peut pas être lu. Le statut est inconnu
===== =============




Commande ``manage.sh status``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Retourne l’état démarré/arrêté du serveur. Les codes retours suivants
sont possibles :

Codes de retour :

===== =============
Code  Signification
===== =============
``0`` L'application est démarrée.
``1`` L'application est arrêtée.
``2`` Le fichier contenant l'identifiant du processus n'a pas été trouvé ou ne peut pas être lu. Le statut est inconnu
===== =============


Windows
-------

Le script ``bin\manage.bat`` dans dossier d'extraction de l'archive
permet de lancer le serveur :

.. code-block:: bash

  ./bin/manage.bat

Pour arrêter celui-ci, utiliser la combinaison de touches :kbd:`Control-C`.
