Installer le CommandLine en tant que service sur Ubuntu
Créez un exécutable permettant d'exécuter CommandLine depuis le répertoire /usr/bin.
Il suffit pour cela de créer deux fichiers, commandline_start et commandline_stop dans lesquels vous écrivez :
Pour le fichier commandline_start :
#!/bin/sh cd <CommandLinePath> nohup sh commandline-linux.sh&
Avertissement
Le chemin d'accès <CommandLinePath> doit être absolu.
Pour le fichier commandline_stop :
#!/bin/sh (echo stopServer ; sleep 2) | telnet localhost 8002
Assurez-vous que les deux fichiers sont exécutables. Pour le vérifier, vous pouvez exécuter les deux commandes suivantes dans le répertoire /usr/bin:
# chmod +x /usr/bin/commandline_start # chmod +x /usr/bin/commandline_stop
Copiez le fichier .sh: /<CommandLinePath> /addons/scripts/talend_commandline dans le répertoire : /etc/init.d pour créer le service associé à ces deux exécutables.
Rendez-le exécutable :
# chmod +x /etc/init.d/talend_commandline
Exécutez la commande suivante :
# update-rc.d talend_commandline defaults 60
Vous avez créé le service lié aux deux fichiers exécutables commandline_start et commandline_stop.
Installer le service sur les systèmes RedHat/CentOS 7
Les commandes suivantes doivent être exécutées avec les privilèges super-utilisateur.
Créez le fichier du service à l'aide de la commande suivante :
touch /etc/systemd/system/Talend-CommandLine.service
Assignez les droits nécessaires aux fichier créé :
chmod 664 /etc/systemd/system/Talend-CommandLine.service
Collez le contenu suivant dans le fichier, en l'adaptant à votre configuration :
[Unit] Description=Talend CommandLine Service After=network.target [Service] WorkingDirectory=<CommandLinePath> ExecStart=/bin/bash commandline-linux_x86_64.sh start Type=simple [Install] WantedBy=default.target
Relancez le démon du service :
systemctl daemon-reload
Démarrez le service :
systemctl start Talend-CommandLine.service
Installer le CommandLine en tant que service sur RedHat
Créez/Copiez le script suivant dans le fichier /etc/init.d/commandline :
#!/bin/sh ### BEGIN INIT INFO # Default-Start: 2 3 4 5 # Default-Stop: S 0 1 6 # Short-Description: Exemple de script init # Description: This file should be used to construct scripts to be placed in /etc/init.d ### END INIT INFO # Author: jsd03 # Do NOT "set -e" # PATH should only include /usr/* if it runs after the mountnfs.sh script PATH=/usr/sbin:/usr/bin:/sbin:/bin COMMANDLINE=/oa/talend/commandline303 CMD_WORKSPACE=$COMMANDLINE"/commandline-workspace" STARTUP=commandline.sh USER=cxp NAME=talend_commandline PORT=10004 # Read configuration variable file if present [ -r /etc/default/$NAME ] && . /etc/default/$NAME # Load the VERBOSE setting and other rcS variables [ -f /etc/default/rcS ] && . /etc/default/rcS # Define LSB log_* functions. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present. . /lib/lsb/init-functions # # Function that starts the daemon/service # do_start() { echo -n $"Starting commandline service: " su - $UER -c "rm -Rf $CMD_WORKSPACE" su - $USER -c "cd $COMMANDLINE && screen -dmS cmdLine ./$STARTUP" #screen -dmS cmdLine $DAEMON_START RETVAL=$? echo }
# # Function that stops the daemon/service # do_stop() { echo -n $"Stopping commandline service: " su - $USER -c "( echo 'stopServer' ; sleep 2 ) | telnet localhost $PORT" RETVAL=$? echo } case "$1" in start) do_start ;; stop) do_stop ;; *) echo $"Usage: $0 {start|stop}" exit 1 esac exit 0
Modifiez les valeurs des variables USER et COMMANDLINE du script avec l'utilisateur dédié pour exécuter Talend, et le chemin d'accès au répertoire du CommandLine, respectivement.
Saisissez :
chkconfig --list
chkconfig --add commandline
pour ajouter ce service à votre système.