LinuxParty
Pongamos que por alguna razón, necesitamos tener un contador de días en Shell Script. Bueno, yo no he conseguido hacerlo todo en shell script, aprovechando que también tengo PHP, voy a utilizar los dos lenguajes para llevar ésta tarea a cabo.
Este es script en PHP:
<?php date_default_timezone_set('Europe/Madrid'); // ################################################################## // En el crontab: // */58 * * * * /usr/bin/php /root/contador.php > /root/.contador.dat // */59 * * * * /root/contador.sh // ################################################################## // $cuando = mktime(0,0,0,mes,día,año); $cuando = mktime(0,0,0,06,01,2016); $hoy = time(); $resta = $hoy - $cuando; $total = round($resta/86400); echo "$total"; echo "\n"; ?>
Bueno, hace todo lo que queremos:Le especificamos la fecha desde cuando tiene que empezar a contar hasta hoy.
El resultado, lo vamos a volcar por redireccionamiento a un fichero que se llama ".contador.dat", hay que indicar que queremos que sea un fichero oculto, por lo que delante del nombre escribimos un "."
Ahora, tendremos un shell Script que procese los datos:
#!/bin/sh # El fichero ".contador.dat", contiene los días pasados desde la fecha # especificada en el script de php: "contador.php" PERMITIDOS="365" if [ "$(cat /root/.contador.dat)" -gt $PERMITIDOS ]; then echo "Contador igual o mayor a..." [...] else RESTAN=$(cat /root/.contador.dat) echo "Días que han pasado...: $RESTAN" echo "Días permitidos.......: $PERMITIDOS" let QUEDAN=$PERMITIDOS-$RESTAN echo "Dias hasta nuevo aviso: $QUEDAN" fi
Y ya está, para más florituras, os lo tenéis que trabajar vosotros, que también podéis compartir el código en los foros
