attiene una interfaz más simple para este tipo de propósito si atestá instalado, la máquina está funcionando atdy el usuario puede usar el comando.
Por ejemplo (verifique la sintaxis exacta usando man ato info at),
at -f archivo now + 53 minutes
o
at -f archivo now + 2 hours
ejecutará los comandos en el archivo especificado en 53 minutos o 2 horas, respectivamente.
at luego se puede volver a ejecutar al comienzo del trabajo programado con unidades adecuadas de inicio, conteo y tiempo (aleatorio o de otro tipo).
Editar
Como Arjan señala útilmente a continuación, si está utilizando esto para otra aplicación que no sea un juguete, debe pensar en problemas como lo que sucede
si la próxima ejecución comienza antes de que termine la anterior (por ejemplo, ¿el script es reentrante?) o
si una ejecución no se completa correctamente o
si la próxima ejecución no se inicia a tiempo o a tiempo (por ejemplo, qué sucede si la máquina está apagada cuando la próxima ejecución debe comenzar) y
sobre el registro e informes de ejecuciones fallidas o exitosas.
filecontiene la próximaatejecución, ¿correcto?atcomando es la primera línea y si el script se ejecuta durante mucho tiempo (o si los intervalos son cortos), tenga cuidado de ejecutar varias instancias simultáneamente. Pero cuandoatestá en la última línea del guión, entonces obviamente no se volverá a programar si el guión falla. Además, ejecutar el script desde la línea de comandos hará que (re) se programe también (y: podrían existir múltiples programaciones simultáneamente). Ycronadmite el envío de cualquier error (o: salida en general) por correo electrónico; No sé siattiene algo así también?Tengo muchos comandos en / etc / crontab que hacen todo tipo de cosas y algunos necesitan precisión en segundos. Ahora cron puede tener una resolución más fina mientras mantiene todos los tiempos visibles y centralizados.
Este ejemplo obtiene y analiza una página web entre 10 y 50 segundos antes de cada 5 minutos:
No tiene que tener un tiempo exacto ya que los datos se mueven lentamente, pero ayuda a mantener el tiempo de ejecución del nodo munin lo más bajo posible al no tener que esperar a las páginas web. (El complemento almacena en caché la página durante 30 minutos para reducir las visitas innecesarias, pero necesita actualizar una base de datos cada 5 minutos).
Tenga en cuenta que \% - cron sustituye% por "\ n" - útil para mantener el texto del correo en una línea.
fuente
Internamente
cron, no creo que tal característica exista. Creo que la mejor solución sería colocar su comando en un script de shell, y colocar unsleepintervalo aleatorio en la parte superior del script y usar la$RANDOMvariable. Luego ejecute el script una vez al día en un trabajo cron regular.fuente
Dependerá de qué tipo de intervalo esté buscando. pero supongamos que desea que el script se ejecute al azar con una probabilidad de 1:30 (una vez cada 30 minutos)
Construya su secuencia de comandos cron para un peridiocity de, digamos 10 minutos. Se disparará 3 veces cada 30 minutos.
Dentro del script, use rand como condición para una instrucción if . Desea que rand devuelva un número entre 0 y 2. Si es 0, ejecute el contenido de la instrucción if.
Esencialmente, su script siempre se dispara a un intervalo establecido. Pero solo ejecutará el comando que le interesa al azar. Su proveedor de servicios se lo agradecerá.
fuente