Utilisation
Manuel d'utilisation de InterLDAP-ATE v 0.9.1.
Démarrage et arrêt
Le script d'initialisation permet de démarrer ou d'arrêter le démon. Il s'utilise de la façon suivante :
# /etc/init.d/atransport-engine {start|stop|restart|force-reload}Lancement du démon :
# /etc/init.d/atransport-engine start
Starting atransport-engine
#
Arrêt du démon :
# /etc/init.d/atransport-engine stop
Stopping atransport-engine
#
Un fichier contenant le PID du démon est créé au démarrage et supprimé à l'arrêt :
# cat /var/run/atransport-engine.pid
Sa présence est testée au démarrage, il n'est pas donc possible de lancer plusieurs fois le démon, ce qui est indiqué par le message suivant :
# /etc/init.d/atransport-engine start
Starting atransport-engine
Stop or remove /var/run/atransport-engine.pid to start atransport-engine
#
De même si on arrête le démon déjà stoppé :
# /etc/init.d/atransport-engine stop
Stopping atransport-engine
Not running
#
Il convient tout de même de vérifier dans la liste des processus que tout s'est bien déroulé :
$ ps ax | grep atransport-engine | grep -v grep
5837 ? Ss 0:00 /usr/bin/perl /usr/bin/atransport-engine
$
Les fichiers de données
Les fichiers de données doivent respecter la nomenclature suivante :
Avec :
- EXPORT : chaîne de caractères (pas d'accents, pas d'espaces) identifiant le fichier. Tous les fichiers portant cet identifiant seront gérés dans la même file d'attente. Deux fichiers avec des identifiants différents pourront être transmis en parallèle.
- DATE : entier numérique permettant d'ordonner les fichiers d'une file d'attente entre eux. Les fichiers avec l'entier le plus faible seront transmis en premier. Il est courant d'y mettre une date de la forme AAAAMMJJhhmmss.
- EXTENSION : extension du fichier, généralement trois ou quatre caractères en minuscules.
Pour être pris en compte par atransport-engine, ils doivent être déposés dans le répertoire d'entrée avec leur fichier d'en-tête associé.
Attention : les fichiers de données ne peuvent pas être des fichiers binaires.
Les fichiers d'en-tête
Chaque fichier de données doit posséder un fichier d'en-tête, qui contient les paramètres de son transport. Ce fichier est nommé comme le fichier de données, excepté son extension qui est hdr (header) :
Voici la structure de ce fichier :
Extension: …
Encoding: {...}…
URI: …
URI: ...Le champ Extension permet d'indiquer l'extension du fichier de données, qui sera substituée à l'extension hdr pour obtenir le nom complet du fichier de données. On peut avoir par exemple :
Le champ Encoding donne deux informations : le type de système pour la forme du retour chariot, et l'encodage du fichier de données. Le type de système est indiqué entre accolades, par une lettre :
- {U} : système UNIX.
- {W} : système Windows.
On peut avoir par exemple :
Ou encore:
Le dernier champ peut être multi-valué, c'est le paramètre URI. Chaque ligne décrit le protocole à utiliser avec l'adresse du serveur et les informations de connexion. Cette URI peut avoir deux formes :
protocole://identifiant:motdepasse@adresse:port/chemin
Avec les informations suivantes :
- protocole :
- ftp : transfert par FTP en mode passif.
- http : envoi par formulaire POST.
- scp : envoi par la commande scp (SSH).
- sftp : alias de scp.
- mail : utilisation de SMTP. Ne supporte pas l'authentification, connexion anonyme obligatoire.
- identifiant : identifiant de connexion.
- motdepasse : mot de passe de connexion.
- adresse : adresse IP ou DNS du serveur distant. Si non précisé avec le protocole mail, sa valeur est « localhost ».
- port : port du serveur distant. Si non précisé, c'est le port par défaut du protocole qui est utilisé.
- chemin : répertoire distant où déposer le fichier. Les droits d'écritures doivent être activés en conséquence.
- mel : adresse électronique du destinataire.
On peut avoir par exemple :
Ou encore :
Notes sur les protocoles
SCP et SFTP
Pour faire fonctionner ces protocoles, il faut créer des certificats qui permettront une connexion sécurisée sans mot de passe. Pour cela, se rendre dans le répertoire de l'utilisateur qui exécute le programme atransport-engine :
Générer ensuite les clés :
Entrer les informations demandées mais ne pas mettre de phrase de passe.
Copier la clé publique sur le serveur distant (en utilisant l'utilisateur qui est indiqué dans l'URI du fichier d'en-tête) :
# ssh-copy-id -i ~/.ssh/id_rsa.pub utilisateur@adresse
Tenter une connexion ssh sans mot de passe pour vérifier les certificats :
# ssh utilisateur@adresse
Aucun mot de passe ne doit être demandé.
HTTP
L'envoi par HTTP nécessite qu'une page spécifique ait été développée pour accueillir le fichier. Cette page doit analyser une requête POST fournissant les champs suivants :
- user : l'identifiant de l'utilisateur.
- passwd : le mot de passe de l'utilisateur.
- filename : le nom du fichier.
- file : le fichier en lui-même.
L'identifiant et le mot de passe peuvent être utilisés pour une authentification (sur un annuaire LDAP par exemple). Le fichier doit être ensuite copié sur le disque, dans un répertoire défini par la page.