
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 at
comando de Unix no está disponible en Cygwin. Cygwin ha utilizado tradicionalmente el at
comando 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 cron
y 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 -e
comando.
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.