Le but est d'ordonnancer le lancement d'un script sur tng / nsm, plusieurs fois par jours et uniquement à réception d'un fichier (ici via CFT)
[validé ≤ NSM 3.1]
1) Créer un trigger pour la réception du fichier
Ce trigger ne doit pas avoir de calendrier pour ne jamais passer en état "completed".
La réception du fichier ne fait qu'envoyer un trap dans la conlog, exploité par le message action (cf. 2))
Exemple de script de création du TRIGGER : #######################################################################
echo "definition du trigger ttrigtest"
cautil delete trigger id="(ttrigtest,DSCLOSEU)"
cautil define trigger id="(ttrigtest,DSCLOSEU)" \
filename="/test/cft/transfert/IN/test.xls" \
station=sta_hostname \
backlog=n \
autosel=yes \
user=cft \
desc="('Trigger de Test)"
2) Créer le message action qui force donc le job à réception du fichier
Exemple de script de création du MESSAGE ACTION :
###################################################################
echo Force du job d’un envoi automatique de mail
cautil delete msgrec msgid="'.CASH_I_0023 DSCLOSEU Trigger ttrigtest, '"
cautil define msgrec msgid="'.CASH_I_0023 DSCLOSEU Trigger ttrigtest, '" \
continuescan=Y \
desc="'Arrivée du fichier de test (IDF=IDFTEST1)'" \
type=MSG
cautil define msgact name='(*,10)' \
action=UNIXSH \
text="'cautil force tjob id=xjobset,xjob01,01'" # => commande forçant le tjob
echo "\n#########################################"
echo Rechargement des messages en mémoire
oprcmd opreload
echo "#########################################"
3) Créer le JOBSET / JOB
Mettre le job en HOLD, ainsi il ne pourra être déclenché qu'en étant forcé.
Exemple de script de création du JOBSET / JOB :
##########################################################
echo Jobset xjobset
cautil delete jobset id=xjobset
cautil define jobset id=xjobset \
station=sta_hostname \
sett=CPU \
hist=30 \
abend=ABORT \
failc='0001,9999' \
cal=cal_tlj \
autosel=Yes \
anyc=NO \
backlog=No \
hold=NO \
userenv=Y \
desc="('')"
##########################################################
echo Job xjob01
cautil define job id='(xjobset,xjob01,01)' \
jobt=CPU \
hist=30 \
cal=cal_tlj \ # => calendrier
abendaction=ABORT \
maxtime=00:15:00 \ # => durée maximale du job
failc='0001,9999' \ # => codes erreurs
autosel=YES \
anyc=NO \
backlog=YES \ # => purgé à l’autoscan même si non terminé
hold=YES \ # => le job ne pourrait être exécuté que s’il est forcé
description="(Envoi d’un mail automatique à réception du fichier de test (IDF CFT = IDFTEST1)"
echo Parametres du job xjob01
cautil define jobparm id='(xjobset,xjob01,01)' \
subf='/prod-info/exploit/tng/scripts/xjob01.sh' \
subu=root