Il lancio di CAP504, privo di interfaccia, direttamente sul server linux (runtime relinkato runcblpq2) richiede l'implementazione di questi step:
- creazione di script di lancio del programma con funzionalità di log per debug e tracing
- pianificazione di lancio automatizzato del programma
Lo script di lancio e i file di log devono risiedere nella cartella home dell'utente di riferimento (esempio: /home/CAPPIACENZA/servermotore)
Per eseguire il programma ogni giorno alle 23, come utente root, dare il comando crontab -e -u servermotore e incollare quanto segue:
00 23 * * * /home/CAPPIACENZA/servermotore/lanciocap504.sh > /home/CAPPIACENZA/servermotore/cron.log 2>&1
Nella home dell'utente servermotore (/home/CAPPIACENZA/servermotore) creare i seguenti file
- cron.log (vuoto)
- debug.txt (vuoto)
- error_log.txt (vuoto)
- trace.txt con il seguente contenuto:
TF 9
TP
T flush
T timestamp
G
-->> Nota: dopo la "G" c'è un carattere di ritorno a capo! <<--
Creare nella home il file lanciocap504.sh con il seguente contenuto:
#!/bin/sh -l
case $# in
1) my_prg=$1;;
0) my_prg="CAP504";;
*) echo "usage: lanciocap504.sh ambiente [prg]";
exit 1;;
esac
my_dir=$(pwd)
my_wrkdir="/cap/ecoge/cnf"
my_cnf="cblconfi-area-loc.lnx"
my_prg_param="888 MOTORE S LANCIO-SKIP LANCIO-SKIP"
my_error_file="/home/CAPPIACENZA/servermotore/error_log.txt"
server_runtime="/opt/acucorp/921/bin/runcblpq2"
cd $my_wrkdir
export TERM=xterm
$server_runtime -ce $my_cnf $my_error_file lancio.cob $my_prg $my_prg_param
cd $my_dir
curl -L http://webserver.terrepadane.it/getAuth.php
#EOF
--->> Prestare attenzione al fatto che lo shebang comprende lo switch -l, che serve ad autenticare l'utente. Senza questo switch il programma non funziona. <<---
Dare allo script i permessi di esecuzione (chmod a+x lanciocap504.sh) e i corretti permessi (chown servermotore:"domain users" lanciocap504.sh ; chmod 750 lanciocap504.sh); dare analogamente i corretti permessi ai file di log.
Nota ulteriore: lo switch "-L" in curl serve a seguire i reindirizzamenti.
Per impiegare la modalità di debug, modificare nello script la riga di lancio come segue (o creare uno script dedicato):
$server_runtime -ce $my_cnf $my_error_file -d lancio.cob $my_prg $my_prg_param
Per impiegare il tracing, aggiungere allo script le seguenti righe:
my_trace_file="/home/CAPPIACENZA/servermotore/trace.txt"
my_debug_file="/home/CAPPIACENZA/servermotore/debug.txt"
e cambiare il lancio in
$server_runtime +le $my_trace_file -r $my_debug_file -ce $my_cnf $my_error_file lancio.cob $my_prg $my_prg_param
oppure creare script dedicato.