Tienda especializada en la videoconsola Nintendo DS

 
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.

Creative Commons License
www.forat.info sitio bajo licencia Creative Commons.

Articulos relacionados

Articulos publicados en la Factoria de Blogs


Comentarios:

[...] -config=awstats.tunombrede ldominio.net.conf. Para esto vamos a usar a nuestro programado r de tareas llamado Crontab ( Incluido en el sistema ). A continuaci ón vamos a añadir una linea a nuestro programado r 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 [...]


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. ;)


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


RiPliE 5th Octubre, 2008 a las 19:04

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


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 maravillos as para que el pc lo haga todo.

Salu2


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 correctame nte 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 correctame nte.


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 interesant e jejeje!…


jeickelement 7th Octubre, 2008 a las 18:42

Hola a todos, aprovechan do 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 completame nte sin usar teclado ni monitor, estaba pensando en SSH desde otro, pero aveces el es el unico encendido.

salu2


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

[...] FORAT – Programa tareas automatica s con Crontab – Backup [...]


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

Como siempre impresiona nte… Para los novatos en Linux tus explicacio nes son claras, rápidas, funcionale s, indoloras y sin efectos post-traumatico s… 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.


Sekuela 12th Octubre, 2008 a las 2:36

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


loscabres 20th Octubre, 2008 a las 14:01

Muy bueno realmente te ahorra mucho trabajo


Milor 21st Octubre, 2008 a las 0:35

tutoriales impresiona ntes. 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.


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

Hola Amigos:

Pues he hecho todo esto pero para reinicia el pc a una hora determinad a 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


[...] http://www.forat.info/2008/10/.....automatica s-con-crontab-backup/ [...]


[...] Pensaba ponerme a explicar cómo funcionan cada una de sus opciones y el significad o 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. [...]



Andres Alfredo Calcaño 14th Septiembre, 2009 a las 21:29

hola como puedo hacer para programar un auto Backup de diferente pc, es decir imaginen un oficina que tiene 5 computador as y hay que hacer un Backup de ciertos archivos cada 2 dias de cada computador a y almacenarl os en otro cpu que tambien esta en la misma ofinica, otra cosa las demas pc estarian usando windows. gracias