Mi pregunta:
Tengo una declaración if en Perl donde intento detectar a través de variables de entorno en el momento de iniciar el script Perl si se inició mediante un trabajo cron o mediante una ejecución normal a través del Shell.
¿Hay alguna forma de establecer una variable de entorno en el crontab a la que pueda acceder un programa iniciado por cron?
Básicamente, quiero esto en la parte superior de mi crontab:
COMPANYCRON=1
* * * * * someperl.pl
Y en someperl.pl esta declaración if:
if ( $ENV{'COMPANYCRON'} eq '1' ) {
$job_creator = "cron";
}
¿Hay alguna forma de hacer esto? ¿O un mejor enfoque para realizar un seguimiento de los trabajos cron?
Respuesta1
Algunos demonios cron (por ejemplo, Vixie cron en Debian/Ubuntu) permiten exactamente la misma sintaxis que escribiste en tu ejemplo. En otros sistemas (RHEL, etc.), use algo como esto en su crontab:
* * * * * export COMPANYCRON=1; someperl.pl