[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] ¿A qué se refiere /proc/self/fd/3 en los scripts de cron?



El jueves, 19 mar 2015, a las 17:51 UTC+1 horas,
Camaleón escribió:

>El Thu, 19 Mar 2015 17:08:39 +0100, Manolo Díaz escribió:
>
>> El jueves, 19 mar 2015, a las 16:50 UTC+1 horas,
>> Camaleón escribió:
>> 
>>>El Thu, 19 Mar 2015 16:34:56 +0100, Manolo Díaz escribió:
>>>
>>>> El jueves, 19 mar 2015, a las 16:22 UTC+1 horas,
>>>> Camaleón escribió:
>>>
>>>(...)
>>>
>>>>>> He intentado un par de pruebas con un script que contiene 'stat
>>>>>> /proc/self/fd/3' y me envíe la salida por correo, pero el cron
>>>>>> horario y el de usuario root me han devuelto que ese fichero no
>>>>>> existe. También he descartado que se trate del sistema de registros
>>>>>> syslog.
>>>>>> 
>>>>>> Es simple curiosidad, ninguna necesidad real.
>>>>>
>>>>>Lo que hace ese aplicativo es comprobar la suma de verificación de los
>>>>>paquetes ¿no? Pues sobre los descriptores encontré esto:
>>>>>
>>>>>What is the file descriptor 3 assigned by default?
>>>>>http://unix.stackexchange.com/questions/41421/what-is-the-file-
>>>descriptor-3-assigned-by-default
>>>> 
>>>> Viene a decir lo que ya sabíamos, que 0, 1 y 2 están asignadas por
>>>> omisión, pero que a partir de 3 no.
>>>
>>>(...)
>>>
>>>Pues por eso se entiende que al estar asignados (0, 1 y 2) usa el
>>>siguiente disponible (3) :-)
>> 
>> Comprendido: después del 2 va el 3.
>
>Eso es lo que quería decir el ejemplo aunque el comando ejecutado era  
>"ls".
>
>> ¿Pero para qué lo usa? Lo redirige a la salida estándar, y no veo
>> cambios al usar está última o no desde cron. Los registros son los
>> mismos y no me llega ningún correo (al contrario de lo que ocurría si se
>> redirigiese a la salida de error).
>> 
>> Es decir, ejecutado por cron, la siguiente línea muestra el mismo
>> comportamiento en mi equipo:
>> 
>> $IONICE $debsums -cs 2>&1 | egrep -vf /etc/debsums-ignore | sed
>> 's/^debsums: //' | logger -t debsums
>> 
>> Sigo sin ver la intención.
>
>Bueno, la explicación de lo que hace el programa parece clara:
>
>***
>https://packages.debian.org/wheezy/debsums
>
>tool for verification of installed package files against MD5 checksums
>
>debsums can verify the integrity of installed package files against MD5 
>checksums installed by the package, or generated from a .deb archive. 
>***
>
>¿Qué hace en un script que se ejecuta cada semana? Pues ni idea, 
>seguramente el comportamiento sea configurable (on/off), quizá el manual 
>te diga más cosas ¿no? Porque la línea del script que mandas no parece 
>que tenga mucha chicha (ejecutará el binario de debsums asignándole una 
>prioridad, lee el archivo de los paquetes que se deben omitir, procesa el 
>resultado y lo manda al syslog).

Entiendo lo que hace y casi todo del por qué lo hace, _a excepción_ de
enviar una copia del resultado parcial a salida estándar. Si ejecuto
ese script desde un terminal, le veo sentido: además de añadir entrada
al registro de bitácoras, me muestra en el terminal los ficheros
alterados. Pero en una ejecución no interactiva, que es para lo que
está pensado el script, dicha salida parece perderse, parece que es un
gasto de recursos inútil, por pequeño que este gasto sea.

>Saludos,
>

Saludos.
-- 
Manolo Díaz


Reply to: