reiniciar minutos manualmente instalar ejemplos ejecutar editar cada cron crontab archlinux cron-task raspberry-pi3

minutos - ¿Cómo activo el comando cron una vez dentro de un marco de tiempo específico?



instalar crontab ubuntu (3)

Información básica sobre mi sistema: tengo un sistema de música donde la gente puede programar canciones para comenzar y terminar en un momento específico.

Sistema operativo: Arch Linux

Establece dos crons en este momento. Uno permite decir a 1.50 (hora de inicio con un comando como "reproducir, etc.") y otro conjunto a 3.20 (hora de finalización con un comando como "finalizar, etc.").

Mi configuración funciona perfectamente y puedo terminar de borrar los horarios, etc. ¡pero ahora noté un problema! Si configuro los tiempos anteriores y apago el sistema (Mi sistema es una pi de frambuesa) y me vuelvo a encender digamos 2.00 y me perdí la fecha límite de 1.50, la música no comienza (obviamente) y quiero intentar que sea tan importa a qué hora lo enciendo dentro de un rango digamos: 1.50 - 3.20 comenzará el comando de reproducción. ¡Pero ejecutará el comando una vez!

Miré a mi alrededor y los comandos que obtuve fueron como:

0 1.50-3.20/2 * * * your_command.sh

Pero eso es correr cada 2 horas. Quiero que se ejecute solo una vez entre estos tiempos? ¡Gracias!


Es posible que desee ver el comando at y sus utilidades.

SYNOPSIS at [-q queue] [-f file] [-mldbv] time at [-q queue] [-f file] [-mldbv] -t [[CC]YY]MMDDhhmm[.SS] at -c job [job ...] at -l [job ...] at -l -q queue at -r job [job ...] atq [-q queue] [-v] atrm job [job ...] batch [-q queue] [-f file] [-mv] [time]

at es bueno para programar trabajos de una sola vez que se ejecutarán en algún momento en el futuro. Mantiene una cola de estos trabajos, por lo que puede usarlo para programar cosas con una gran variedad de especificaciones de tiempo diferentes.

Cron es, en mi opinión, un programador de trabajos que deben repetirse una y otra vez.

Entonces un ejemplo rápido y sucio para ti:

echo ''ls -lathF'' | at now + 1 minute

Como se esperaba, verá que se ejecutará un trabajo en un minuto. Pruebe atq para ver la lista de trabajos.

Cuando se termina el trabajo, la salida se enviará por correo a su usuario de forma predeterminada.


Podría agregar una tarea cron adicional que inicie una secuencia de comandos en cada reinicio. Por ejemplo, puedes agregar una línea como esta a tu crontab:

@reboot /home/pi/startplayback.sh

Su script startplayback.sh debe verificar si la hora actual está dentro del período deseado y ejecutar el comando deseado si es así. Por ejemplo, el siguiente código imprimirá PLAY! si el script se ejecuta entre 1:50 y 3:20. Podrías reemplazar el eco ''¡JUGAR!'' por ejecutar LO QUE SEA

#!/bin/bash current=$(date ''+%H%M'') (( current=(10#$current) )) ((current > 150 && current < 320 )) && echo ''PLAY!''

PD: No olvides hacer que el script ejecutable sudo chmod +x startplayback.sh


Resolví el problema creando un archivo PHP y cargando la página al reiniciar, luego hice su trabajo y volví a redirigir a tal y tal.