Oct
05
Archivado en la categoria Debian, Linux, Ubuntu el dia 5-Octubre-2008

cron1

Hace tiempo que quería hacer un manual como este ya que en algunas ocasiones he necesitado programar una tarea en alguno de los anteriores manuales y no he tenido un articulo que explique como podemos programar una tarea para que se ejecute algo que necesitemos un día a una hora especifica.

En esta ocasión voy ha hablaros del programador de tareas llamado Crontab programa derivado del genuino Cron. Seguro que muchos de vosotros habéis programado una tarea que habéis visto en algún manual con un simple copy y paste. Todos sabemos para que vale pero lo mas importante de esto no es que solo funcione. Lo mas importante es saber usarlo para que cuando necesitemos ejecutar algo en una fecha especifica sepamos como hacerlo y a continuación os voy a explicar el como, donde y porque del asunto …

Cron viene instalado en la mayoría de distribuciones Linux actuales incluyendo Linux Ubuntu y Linux Debian mas que nada para la actualización de ficheros Logs y demás cosas que a simple vista no vemos pero en segundo plano están cumpliendo su función.

En el ordenador en el que voy a hacer la practica incorpora una instalación de Linux Ubuntu Server y aunque debería de ser lo mismo en todos los sistemas Linux nunca está mal decirlo porque la configuración puede derivarse.

Para la configuración de tareas vamos a usar el programa crontab que viene con el paquete cron y que nos va a servir para configurar nuestras tareas automáticas de un modo muy simple.

La manera de decirle que queremos que algo se ejecute en nuestro ordenador un día a una hora especifico es muy sencilla pero hay que entenderla.

Imaginemos que necesitemos que una vez a la semana se comprima todo un directorio completo y nos cree un fichero en formato tar.gz para tener una copia de seguridad. Ademas vamos a suponer que lo necesitamos todos los domingos a las 6:30 de la mañana …

Para comenzar vamos a editar crontab desde una Terminal y ejecutando …

sudo crontab -e

Veremos algo así …

cron2

Como veis el archivo parece complejo pero no tiene mucha complicación una vez lo entendamos. En mi caso necesito hacer una copia de seguridad del directorio /home/www/almacen/web y que me lo comprima en el fichero backupweb.tar.gz situado en /home/www/almacen/Backup-Server para hacer esto simplemente deberíamos ejecutar tar -czf /home/www/almacen/Backup-Server/backupweb.tar.gz /home/www/almacen/web pero ademas de indicarle esto debemos indicarle que minuto, hora, día del mes … Para ello le indicaremos delante del comando de compresión tar lo siguiente …

30 6 * * 0 tar -czf /home/www/almacen/Backup-Server/backupweb.tar.gz /home/www/almacen/web

Como veis delante del comando tar le indico que se ejecute todos los domingos del mes a las 6:30 de la mañana. La explicación de todo esto es la siguiente …

cron3

Todo lo que no especifiquemos con números podemos hacerlo con asteriscos ” * “, esto querrá decir todos los días del mes, todas las horas, minutos, meses ….

cron4

Una vez tengamos la linea bien configurada dentro del programa crontab salimos del editor con la tecla F2 y seguidamente pulsamos enter.

Ahora tan solo nos queda reiniciar cron para que cargue la nueva configuración …

sudo /etc/init.d/cron restart

Y listo !!!

Esta vez hemos usado el programador de tareas Crontab para hacer una copia de seguridad de un directorio pero se pueden hacer miles de cosas, tantas como puedas imaginar.

Articulos relacionados

videosovni

Comentarios:

[...] -config=awstats.tunombredeldominio.net.conf. Para esto vamos a usar a nuestro programador de tareas llamado Crontab ( Incluido en el sistema ). A continuación vamos a añadir una linea a nuestro programador para [...]


[...] una vez llegado a este paso vamos a tunearnos el sistema un poco con Wput y Crontab [...]


[...] agregar una tarea al sistema vamos a utilizar la utilidad ( crontab ) y le vamos a decir que nos borre esas capturas cada 5 minutos de la siguiente manera [...]


Gravatar Intruso 5th Octubre, 2008 a las 9:38

Que bonito, no hay nada como enteder porque haces las cosas, otra vez de lujo tio, como siempre. ;)


Gravatar N0xTrUm 5th Octubre, 2008 a las 18:28

Una vez más excelente :) La verdad que a veces no sabría vivir sin cron xD


Gravatar RiPliE 5th Octubre, 2008 a las 19:04

la virgen otra chuleta más tio.
mil gracias nen.
;)


Gravatar jeickelement 5th Octubre, 2008 a las 22:20

Muy bien FORAT de vuelta a tu Blog, aunque Siempre lo he seguido Por RSS Me parece muy bueno eso del Crontab, ya lo he trabajado, pero se pueden hacer cosas maravillosas para que el pc lo haga todo.

Salu2


Gravatar Clubdefansdeforat 6th Octubre, 2008 a las 22:00

Hacia tiempo que no me pasaba por aquí, muy util esta utilidad xD.
Bueno voy a preguntar algo haber si podeis hecharme una mano alguno que tenga un poco mas de idea que yo.
Tengo un servidor con plesk,qmail,horde,etc.
Bueno el problema que tengo es que cuando envío un correo usando el webmail(horde) el correo no se envia, sale un mensaje como que se a enviado correctamente pero no es cierto.Recibir si que recibe bien.
Nota: Cuando utilizo por ejemplo outlook o otro cliente de correo externo si funciona es decir puedo enviar y recibir correctamente.


Gravatar Felipe 7th Octubre, 2008 a las 5:16

Hoy en el bus iva leyendo una revista de linux, en el artículo también había info. sobre crontab, pero nunca estará demás leer mas matetial en esta web.
:D
Tambien sobre asterik centrales VoIp. q interesante jejeje!…


Gravatar jeickelement 7th Octubre, 2008 a las 18:42

Hola a todos, aprovechando que estamos hablando de procesos automáticos en un ordenador con linux, he montado un servidor de Datos con SAMBA sobre Debian Etch en un PC con fuente AT de encendido y apagado Manual, no si haya alguien que sepa como apagar ese PC completamente sin usar teclado ni monitor, estaba pensando en SSH desde otro, pero aveces el es el unico encendido.

salu2


Gravatar Enlaces Destacados 2 | GnDx 9th Octubre, 2008 a las 11:10

[...] FORAT - Programa tareas automaticas con Crontab - Backup [...]


Gravatar Gran-Buhh 9th Octubre, 2008 a las 18:40

Como siempre impresionante… Para los novatos en Linux tus explicaciones son claras, rápidas, funcionales, indoloras y sin efectos post-traumaticos… Si algunos profesores hablasen tan claro como tu escribes el nivel de la enseñanza en este país seria la ostia.
Salu2 a to2.


Gravatar Sekuela 12th Octubre, 2008 a las 2:36

Muchas gracias por el post, la verdad es que llevaba tiempo buscando maneras de hacer backups regularmente. En su día intenté crear un script pero no acabó de funcionar como es debido.
Otra ves gracias


Gravatar loscabres 20th Octubre, 2008 a las 14:01

Muy bueno realmente te ahorra mucho trabajo


Gravatar Milor 21st Octubre, 2008 a las 0:35

tutoriales impresionantes. Gracias.

Vas a publicar algo sobre el OpenVPN? Yo ya instale gracias a ti el DEBIAN con IP FIJA y SSH. Pero es un pobrecito 486. No creo que ponerle apache + mysql + php, para poner webadmin le vaya bien. Asi que quiero probar si consigo hacer un VPN.


Gravatar Roberto Carlos 22nd Octubre, 2008 a las 1:47

Hola Amigos:

Pues he hecho todo esto pero para reinicia el pc a una hora determinada y no ma hace nada el crontab….Ni siquiera me da un mensaje de error ni nada. Tienen idea de que puede ser?

Saludos,
R.C



[...] Pensaba ponerme a explicar cómo funcionan cada una de sus opciones y el significado que tienen las distintas posiciones del fichero crontab (en el que queda reflejado qué se tiene que hacer y cuándo debe realizarse) pero, por fortuna, me ha dado por indagar y me he encontrado con un buen artículo de FORAT en el que explica dicha materia. [...]


A continuación puedes hacer un comentario con tu duda, consulta o aportación.Si puedes responder a otro usuario no te cortes y hazlo " Yo no puedo con todos ". Recuerda que no están permitidos los insultos, la publicidad o cualquier cosa que pueda ofender a alguien. De no respetar estas sencillas normas serás baneado. En este Blog intentamos ayudar a los demás y para eso necesitamos un ambiente lo mas agradable posible. Ayúdanos a conseguirlo ( Gracias )
¿ Tienes algo que decir ?
Nombre: 
Email: 
URL: