Manual de crond
Bueno, ahora con mas tiempo te puedo decir algo general del cron, este
programa lee un archivo especial llamado crontab, dicho archivo
especifica que tareas se van a ejecutar, y a qué hora, para acceder a
modificarlo...
crontab -e
Este comando emplea el editor predeterminado del sistema, vi, jed, etc...
Si se desea utilizar una aplicación diferente a la predeterminada se
debe exportar la variable de entorno...
export EDITOR=nano
por poner un ejemplo
Cada línea en este archivo vendría a representar una taréa y su formato
es, por ejemplo:
30 3 1 * * /home/usuario/tarea.sh
De izquirda a derecha nos indica
Minutos, horas (en formato de 24 horas), dia , mes (entre 1 y 12), día
de la semana (entre 0 y 6, siendo 0=domingo), el último es el comando a
ejecutar.
puedes verificar las entradas del crontab
crontab -l
O eliminar
crontab -r
Otros ejemplos.....
30 3 5,10,15 * * /home/usuario/tarea.sh
Ejecuta la tarea los 5, 10 y 15 de cada mes
30 3 1-7 * * /home/usuario/tarea.sh
Ejecuta la tarea todos los días de la primera semana al mes.
Cron no es específico de root. Cualquier usuario puede crear un fichero de configuración con la orden que has comentado ( crontab -e ). Todos los ficheros de configuración de tareas cron para cualquier usuario quedan almacenados en /var/spool/crontab , aunque físicamente residan ahí no se recomienda la edición manual de estos, sino a través de la orden crontab -e ( aunque la forma directa de eliminar todas las tareas de un usuario es borrar físicamente el fichero de dicho usuario en el directorio nombrado anteriormente )
La ejecución de una tarea definida por un usuario no root se ejecutará con los derechos de ese usuario, pero no se cargará el entorno ( $HOME/.bash_profile ) de dicho usuario. Esta forma de ejecutar la tarea puede hacer que ésta no se ejecute correctamente ya que se pueden haber definido variables de entorno usadas en dicha tarea que no serán informadas durante la ejecución vía cron. Es recomendable el crear un script de ejecución de dicha tarea que lo primero que haga sea ejecutar la carga del entorno del usuario ( algo así como 'source /home/usuario/.bash_profile ) y que el segundo comando del lanzamiento sea el script/tarea en sí.
Actualmente la mayoría de gestores de escritorio ( gnome/kde... ) incluyen algún tipo de GUI para informar de las tareas ( en gnome se llama gnome-schedule )
No es trivial el lanzar una aplicación gráfica vía cron, ni tiene mucho sentido lanzar aplicaciones interactivas ya que vía cron se ejecutan en segundo plano.
En caso de ser una tarea en modo texto, si la tarea utiliza stdout ( salida por defecto, aka pantalla ) una vez ejecutada la tarea, cron enviará al correo del usuario un mail con dicha salida.




Comentarios recientes
hace 2 horas 56 mins
hace 4 horas 49 mins
hace 12 horas 30 mins
hace 12 horas 31 mins
hace 14 horas 33 mins
hace 19 horas 55 mins
hace 23 horas 41 mins
hace 1 día 1 hora
hace 1 día 13 horas
hace 1 día 13 horas