- "c" - cron events, réservée au système Unix
- "d" - sync events, réservée au système Unix
- "b" - batch jobs
- "a" - sh jobs - at jobs
- "e" - ksh jobs
- "f" - csh jobs
echo "sh monshell.sh > $LOG/monlog.log" | at -qe 2120
La commande "at -l" permet de lister les travaux placés en attente, "at -r" de les supprimer :
at -l
hr.1044415211.e mar 4 fév 21:20:11 CST 2003
Le format du nom du travail est : <UserUnix>.<IdTravail>.<NomQueue>. Sur AIX ils sont stockés dans le répertoire /var/adm/cron/atjobs :
ls /var/spool/cron/atjobs/hr.*.?
/var/spool/cron/atjobs/hr.1044415211.e
Et la commande soumise peut être consultée en fin du fichier :
tail -1 /var/spool/cron/atjobs/hr.1044415211.e
sh monshell.sh > $LOG/monlog.log
Quand le nombre maximum de batch en cours d'exécution est atteint pour une file d'attente, les suivants restent dans le tampon du "at" (visibles par un "at -l") d'ici à ce qu'un des batch se termine et libère une place.
L'heure de soumission n'est donc pas forcément identique à l'heure de début d'exécution. Il pourra être nécessaire d'informer les utilisateurs de cette caractéristique.
Mise en place
1) Faites paramétrer les files d'attente via le fichier /var/adm/cron/queuedefs (AIX).Attention :
- Ceci est de la prérogative de l'administrateur Unix de la machine,
- Ce paramétrage est fait pour la machine, c'est a dire pour toutes les applications hébergées.
Par exemple pour 3 files d’attente nommées « e », « b » et « a » de respectivement 4, 4 et 9 batchs pour les paies à la demande, les paies de correction et explorations, les autre batch, avec comme priorités 20, 25, 30 (20 étant plus prioritaire que 25) :
e.04j20n60w
b.04j25n60w
a.09j30n60w
Signifie :
- queue e : 4 batch (jobs) de priorité (nice) normale (20),
- queue b : 4 batch de priorité réduite (25),
- queue a : 9 batch de priorité basse (30),
- bilan (wait) toutes les 60 secondes
Exemple ci joint :
- les paies à la demande NJL sont lancées sur la queue e
- les paies de correction et explorations sur la queue b
- tous les autre batch sur la queue a
...
# Lancement d'un script de $SIGACS/bin
if [ ! "$T" ]
then
JSCRI=`echo "$PARAM"|cut –c14-21| tr –d ‘ ‘`
case ${JSCRI} in
[A-Z,0-9]*NJL)
echo "sh $SIGACS/bin/$PHASE '$PARAM' 1>$LOG/$JOBLOG 2>&1 " | at -qe now 2>> $TMP/a.batch
;;
[A-Z,0-9]*NJC|[A-Z,0-9]*NBX)
echo "sh $SIGACS/bin/$PHASE '$PARAM' 1>$LOG/$JOBLOG 2>&1 " | at -qb now 2>> $TMP/a.batch
;;
*)
echo "sh $SIGACS/bin/$PHASE '$PARAM' 1>$LOG/$JOBLOG 2>&1 " | at -qa now 2>> $TMP/a.batch
;;
esac
else
...