Activar el trabajo sólo una vez y sólo cuando la carga es baja

Activar el trabajo sólo una vez y sólo cuando la carga es baja

Me gustaría tener una actualización automática de mis gtags, pero solo cuando el sistema esté inactivo.

Para lograr esto, estoy iupdatevigilando las partes interesantes de mi carpeta de origen. Pero tengo un problema con la parte "inactiva": sé que el batchcomando puede ejecutar trabajos cuando la carga cae por debajo de 1,5 (o un valor configurado). Pero puede suceder que iupdatese ejecute batchvarias veces antes de que se ejecute el trabajo, lo que generaría múltiples actualizaciones de gtags.

Por supuesto, podría crear algún archivo de bloqueo y comenzar batchsolo si no se llamó antes.

¿Pero existe algún método más estándar? Espero algo como batch_only_once...

Respuesta1

Esto lo hará por ti:

$ cat /etc/lsb-release | grep -i desc
DISTRIB_DESCRIPTION="Ubuntu 14.04 LTS"
$ apt-cache show run-one
....
Description-en: run just one instance of a command and its args at a time
 This utility will run just one instance at a time of some command and
 unique set of arguments (useful for cronjobs, eg).

Respuesta2

Puede crear un script contenedor que primero analizará atqy eliminará otros trabajos por lotes utilizando atrm.

información relacionada