
Tengo el requisito de hacer un script para recopilar algunos datos de una base de datos y formatearlos de acuerdo con un requisito; esto debería ejecutarse mediante un trabajo cron programado. pero no debería haber carreras paralelas. (Si un proceso se está ejecutando, el otro no debería iniciarse).
Ayúdame a hacer esto en scripts bash.
Respuesta1
Puede utilizar el archivo de bloqueo. Al iniciar el script, verifique si el archivo de bloqueo ya existe; si es así, salga; si no, continúe. Al crear un archivo de bloqueo. ejecuta tu script. Y antes de salir, elimine el archivo de bloqueo. algo como esto:
if [ - f lock ] ; then
exit 1
fi
touch lock
your code
rm lock