Question

Comment puis-je créer un script init Linux pour gérer mon processus Java AEM ?

Réponse

Un exemple de script init Linux (testé dans Redhat Linux) est fourni ci-dessous.

Pour utiliser le script init :

1. Copiez le script dans un nouveau fichier /etc/init.d/aem6 sur le serveur.

2. Modifiez le fichier en apportant les modifications suivantes :

  • Définissez le variable AEM_ROOT dans le chemin d'accès du répertoire qui contient le fichier jar AEM.
  • Définissez le variable AEM_USER au nom de l’utilisateur du système qui démarre et arrête AEM.
3. Exécutez la commande :
chmod 755 /etc/init.d/aem6
 
4. Exécutez cette commande pour ajouter la configuration au démarrage et à la fermeture de redhat :
chkconfig --add aem6

Remarque :

Avant d’installer AEM en tant que service Linux :

1. AEM doit avoir été installé ou décompressé dans le fichier jar d'installation et le fichier license.properties doit déjà être mis en place.  Reportez-vous à la documentation officielle pour plus de détails.

2. Vérifiez que le démarrage et arrêt des scripts installés avec AEM fonctionnent comme prévu. Les scripts sont situés sous /crx-quickstart/bin.

  • Attribuez suffisamment d'espace du tas à la JVM en définissant le paramètre dans le variable CQ_JVM_OPTS.
  • Assurez-vous que le fichier binaire Java correct est accessible via le chemin d’accès de l’utilisateur de processus AEM (variable AEM_USER).

Exemple de script init

#!/bin/bash
#
# /etc/rc.d/init.d/aem6
#
#
# # of the file to the end of the tags section must begin with a #
# character. After the tags section, there should be a blank line.
# This keeps normal comments in the rest of the file from being
# mistaken for tags, should they happen to fit the pattern.>
#
# chkconfig: 35 85 15
# description: This service manages the Adobe Experience Manager java process.
# processname: aem6
# pidfile: ${AEM_ROOT}/crx-quickstart/conf/cq.pid

# Source function library.
. /etc/rc.d/init.d/functions

SCRIPT_NAME=`basename $0`
AEM_ROOT=/opt/aem6
AEM_USER=aem

########
BIN=${AEM_ROOT}/crx-quickstart/bin
START=${BIN}/start
STOP=${BIN}/stop
STATUS="${BIN}/status"

case "$1" in
start)
echo -n "Starting AEM services: "
su - ${AEM_USER} ${START}
touch /var/lock/subsys/$SCRIPT_NAME
;;
stop)
echo -n "Shutting down AEM services: "
su - ${AEM_USER} ${STOP}
rm -f /var/lock/subsys/$SCRIPT_NAME
;;
status)
su - ${AEM_USER} ${STATUS}
;;
restart)
su - ${AEM_USER} ${STOP}
su - ${AEM_USER} ${START}
;;
reload)
;;
*)
echo "Usage: $SCRIPT_NAME {start|stop|status|reload}"
exit 1
;;
esac

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne