linux - minutos - ¿Cómo puede crontab imprimir mensajes en la consola?
ejecutar crontab manualmente (2)
Hola, soy nuevo en Linux: D
Hice un programa crontab que se supone que imprime la hora actual en la consola cada 3 minutos.
Lo que hice está abajo.
Hice un crontab. En terminal, comando "
crontab -e
" y agregue una frase "*/3 * * * * /home/user/a.out
"a.out es un archivo de resultados de "
gcc WowCron.c
".
El código está abajo.
int main (int argc, char* argv[]){
time_t now;
time(&now);
printf("this is what we call cron does: %s/n", ctime(&now));
return 0;
}
y funciona maravillosamente cuando se ejecuta individualmente.
Luego ejecuté un comando "
service cron restart
" en la terminal. Ahora cuando comando "crontab -l
", puedo ver los mensajes que escribí en crontab.El problema es que de alguna manera creo que funciona, pero nunca imprime un mensaje de tiempo.
P. ¿Cómo puedo hacer este tiempo de impresión cada 3 minutos?
Cron activa un nuevo proceso para comenzar en segundo plano. Usted lo configura a través de un terminal (que es un proceso) pero de otra manera no tiene nada que ver con ese terminal. Cada proceso tiene su propio STDOUT, STDIN, STDERR, así como las tareas cron están en un nuevo proceso, no se imprimirá en su proceso de terminal ''STDOUT
Como tripleee dice que si desea imprimir syslog es un buen lugar a donde ir, o puede hacer que se anexe a un archivo de su elección.
Si solo desea que el programa se ejecute en un intervalo de tiempo en un terminal, entonces un Script de Shell probablemente sea una mejor opción:
while :
do
date
sleep 180
done
O puede reemplazar la función "fecha" por "./a.out" y ejecutarla desde el mismo directorio
La salida estándar de un trabajo cron
no termina en la consola. Intenta usar la función syslog
.
Alternativamente, si no necesita integrar esto en un programa de C más grande, use el comando logger
.
*/3 * * * * logger Still here ...
(El registro del sistema ya incluye una marca de tiempo).
Cualquier salida estándar y error estándar de un trabajo cron termina siendo enviado por correo electrónico al propietario del trabajo. Tal vez deberías examinar tu buzón de correo, ¿o quizás tu correo electrónico no funciona correctamente?