Es un simple scripcito que verifica si hay logs en un archivo (tiene que haber generalmente), pero me da un error de "integer", veo que espera una expresión numérica por lo que puedo deducir, pero estoy usando una expresión numérica (- le)
INT1 -le INT2
verdadero si INT1 es menor o igual que INT2 (less than or equal).
Si es menor o igual a 1 byte, el programa advierte que no hay logs, de lo contrario vacía el archivo de logs.
Código:
root@server [~]# vaciarlog
/usr/local/bin/vaciarlog: line 3: [: 2.6K: integer expression expected
Vaciando logs y restarteando servicios...
/etc/init.d/httpd stop: httpd stopped
httpd: no process killed
/etc/init.d/httpd restart: httpd not running, trying to start
/etc/init.d/httpd restart: httpd started
Éste es el código del script:
Código:
root@server [~]# cat vaciarlog
#!/bin/bash
if [ $(ls -lah /usr/local/apache/logs/modulo_log | awk '{print $5}') -le 1 ]; then
echo "El archivo modulo_log no tiene logs, verificar funcionamiento."
exit
else
echo "Vaciando logs y restarteando servicios..."
echo
/etc/init.d/httpd stop
killall -9 httpd
sleep 5
cd /usr/local/apache/logs
echo > modulo_log
/etc/init.d/httpd restart
fi
Alguna idea ??