# Gestion du service

## Avec systemd

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

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

    # Démarrage du service
    systemctl start waarp-transferd

    # Arrêt du service
    systemctl stop waarp-transferd

    # Statut du service
    systemctl status waarp-transferd

    # Redémarrage du service
    systemctl restart waarp-transferd

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

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

### Utilisation de systemd avec les archives autonomes

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

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

    [Unit]
    Description=Waarp Transfer server

    [Service]
    Type=simple
    WorkingDirectory=/path/to/archive/root
    ExecStart=/bin/sh -c 'PATH=./share/:./bin/:$PATH exec ./bin/waarp-transferd server -c ./etc/transferd.ini'
    Restart=on-failure

    [Install]
    WantedBy=multi-user.target

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

    systemctl enable waarp-transferd

## 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 Transfer est fourni dans les packages sur les systèmes utilisant `SysVinit`.

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

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

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

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

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

    # Désactivation du service au démarrage du serveur
    update-rc.d -f waarp-transferd remove # Systèmes basés sur Debian
    chkconfig --del waarp-transferd       # 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 :

    ./bin/manage.sh <commande>

Les commandes suivantes sont disponibles :

#### Commande `manage.sh start`

Démarre Waarp Transfer.

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 Transfer peut être défini par la variable d’environnement `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 fichiers de traces.
`2` | Le serveur est déjà lancé

#### Commande `manage.sh stop`

Lance la procédure d’arrêt de Waarp Transfer. Le script attend 2 minutes que Waarp Transfer 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 Transfer 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 fichiers de traces.
`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 Transfer.

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 fichiers de traces.
`2` | Le serveur est déjà arrêté
`3` | Le redémarrage 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 Transfer

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 :

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

Aucune gestion du service n’est actuellement fourni pour Windows. Le gestionnaire de service de l’OS peut cependant être utilisé.