Salve a tutti, spero che questa sia la sezione giusta x il problema che ho...
Allora io devo realizzare questo script
LOAD.SH
Codice:
Se il carico del sistema è inferiore ad una soglia specificata come primo
parametro dello script, lancia il comando specificato come secondo parametro.
Altrimenti, con at, rischedula il test dopo 2 minuti, e procede così finchè non
riesce a lanciare il comando.
MIASOLUZIONE(veramente è del mio prof)
Codice:
#!/bin/bash
#
# controllo del numero di parametri
#
if [ $# -lt 2 ] ; then
echo Sintassi: $0 '<soglia> <comando'
exit 1
fi
#
# rimozione del punto decimale nella soglia
#
soglia=`echo $1 | sed -e 's/\.//'`
#
# isolamento del carico medio negli ultimi 5 minuti
# e rimozione del punto decimale e della virgola
#
carico=`uptime | awk '{ print $8; }' | sed -e 's/[\,\.]//g'`
echo -n "Il carico e' $carico, la soglia $soglia, "
if [ $carico -le $soglia ] ; then
echo eseguo $2
$2 >> /home/xubuntu/output
else
echo rimando esecuzione di $2 >> /home/xubuntu/output
echo `pwd`/$0 $1 $2 | at now + 1 minutes
fi
Non funziona?!?!
Quando è nel ramo else il processo viene inserito nella coda (ho verificato con atq) ma poi sul file output non appare niente
Qualcuno può aiutarmi??
galaa