Ejecutar un comando en un momento determinado en cygwin

Ejecutar un comando en un momento determinado en cygwin

Estoy escribiendo un script bash (.sh) para cygwin. Quiero ejecutar un comando determinado en un momento específico.

Intenté lo siguiente:

echo "test" | at 19:00

pero me sale el siguiente error:

The AT command has been deprecated. Please use schtasks.exe instead.

Entonces, ¿sólo puedo utilizar la tarea programada en Windows para esto?

Respuesta1

El atcomando de Unix no está disponible en Cygwin. Cygwin ha utilizado tradicionalmente el atcomando desde Windows, pero ha quedado obsoleto en favor de schtasks.exe.

Entonces, la respuesta a su pregunta es sí: solo puede usar la tarea programada en Windows para ejecutar una tarea una vez.

(Puedes usarlo crony configurarlo en una fecha específica en un momento específico... pero se repetirá cada año a menos que elimines la tarea del crontab). ;-)

Respuesta2

En su lugar, puedes agregar un trabajo cron.

Inicie sesión desde el usuario desde el cual desea ejecutar el script bash.

Ejecutar crontab -ecomando.

Ahora supongamos que si desea ejecutar el script bash exactamente a las 19:00 todos los días, debe agregar una línea como esta:

00 19 * * * /path/to/bash/script

Nota: Ese script debe tener un bit ejecutable configurado para ese usuario.

información relacionada