[TNG/NSM] Lancer un job plusieurs fois par jour, à réception d’un fichier

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