Saltar al contenido

elAyo.es – Sistemas

Linux, servicios, wordpress, scripting, modding, etc…

Archivo

Archivo de agosto 2009

Sintaxis

El formato de configuración de cron es muy sencillo.

  • El símbolo almohadilla «#» es un comentario, todo lo que se encuentre después de ese carácter no será ejecutado por cron.
  • El momento de ejecución se especifica de acuerdo con la siguiente tabla:
  1. Minutos: (0-59)
  2. Horas: (0-23)
  3. Días: (1-31)
  4. Mes: (1-12)
  5. Día de la semana: (0-6), siendo 1=lunes, 2=martes,… 6=sábado y 0=domingo (a veces también 7=domingo)
##########################################################
#minute (0-59),                                          #
#|  hora (0-23),                                         #
#|  |  día del mes (1-31),                               #
#|  |  |  mes (1-12),                                    #
#|  |  |  |  día de la semana (0-6 donde 0=Domingo)      #
#|  |  |  |  |       comandos                            #
##########################################################
15 02  *  *  *
Para especificar todos los valores posibles de una variable se utiliza un asterisco (*).
  • La última columna corresponde a la ruta absoluta del binario o script que se quiere ejecutar.

Ejemplos

Por ejemplo:

30 10 * * 1 /usr/bin/who >> /home/quien.tex

Ejecuta la orden who todos los lunes a las 10:30 y guarda la salida en el archivo quien.tex

Para especificar dos o más valores en cada variable, estas deben estar separadas por comas, siguiendo con el ejemplo anterior:

0,30 * * * 1 /usr/bin/who >> /home/quien.tex

Ejecuta la orden who todos los lunes cada media hora y guarda la salida en el archivo quien.tex

Si queremos que se ejecute cada 15 minutos sería

0,15,30,45 * * * * /usr/bin/who >> /home/quien.tex

o

*/15 * * * * /usr/bin/who >> /home/quien.tex

En este ejemplo veremos como pasarle más de un comando al cron y de paso como puede programarse una descarga:

30 21 * * * cd /media/sda7/dexter/distributions/isos;wget http://example.com/archivo_a_descargar.loquesea

Este otro es para programar el apagado del PC. En este caso todos los sábados a las 21.30

30 21 * * 6 /sbin/shutdown -h now

Editar crontab de un usuario en particular

crontab [ -u usuario ] archivo

crontab [ -u usuario ] { -l | -r | -e }

La opción -u se utiliza para indicar el crontab de usuario que queremos administrar sólo root podrá usar la orden crontab con esta opción.

La opción -e se utiliza para editarlo

Texto extraido de wikipedia, abajo el link de la versión completa:
http://es.wikipedia.org/wiki/Cron_(Unix)

Crear grupo de volumenes (es necesario tener una partición vacía), como ejemplo empleamos hdc3 y creamos el grupo con nombre vg
# vgcreate vg /dev/hdc3

Mostrar grupos de volumenes
# vgdisplay

Crear partición en grupo de volumenes, como ejemplo creamos la partición con el nombre vserver en el grupo de volumenes vg
# lvcreate vg –name=vserver –size=5Gb

Mostrar particiones en grupos de volumenes.
# lvdisplay

Borrar partición en grupo de volumenes, como ejemplo borramos la partición con el nombre vol1.
# lvremove vol1

Borrar grupo de volumenes, borramos el grupo con nombre vg
# vgremove vg

Si hemos instalado un sistema básico sin entorno gráfico, podemos tener uno minimo realizando los siguientes pasos.

Actualizamos nuestro sistema.
# aptitude update
# aptitude upgrade

Ahora instalamos el servidor de las X.
# aptitude install x-window-system-core

Podemos elegir entre varios login-managers, yo he optado por gdm.
# aptitude install gdm

El último paso es instalar nuestro gestor de ventanas preferido, como no queremos consumir muchos recursos del sistema, vamos a instalar icewm.
# aptitude install icewm

Ahora estamos listos para acceder a nuestro entorno gráfico.
# /etc/init.d/gdm start
# /etc/init.d/startx

Empezamos instalando el paquete correspondiente al servidor VNC
# apt-get install vnc4server

Una vez instalado, ejecutamos vnc4server y nos solicitará el password para acceder al servidor, entonces ya podemos entrar con cualquier cliente vnc.
# vnc4server

Si necesitamos trabajar en varios escritorios al mismo tiempo, volvemos a ejecutar vnc4server, tantas veces como escritorios necestiemos, podremos conectarnos indicando, hostname:1, hostname:2, hostname:3, etc..

Comandos básicos:

Modificar password
# vnc4passwd

Crea un nuevo servidor, siempre un número más que el último que se está ejecutando.
# vncserver

Eliminamos el servidor vnc correspondiente al número que indiquemos.
# vncserver -kill :4

Preparar sistema LVM para discos de maquinas virtuales (Xen ya está instalado) ver instalación.


En una partición vacía (particionado, sin formatear), se inicializa la partición:

# pvcreate /dev/hda3
# pvdisplay

Creamos un grupo de volumen llamado vg
# vgcreate vg /dev/sdb1
# vgdisplay
Editamos /etc/xen-tools/xen-tools.conf, este es el archivo de configuración que se emplea al ejecutar xen-create-image (opciones por defecto para las nuevas máquinas).
# vi /etc/xen-tools/xen-tools.conf

lvm = vg # grupo de volumenes
dist = lenny # Distribuición que se instalará por defecto
gateway = 192.168.0.254
netmask = 255.255.255.0
broadcast = 192.168.0.255
passwd = 1 # nos permite elegir un passowrd para la nueva máquina.
mirror = http://ftp.de.debian.org/debian/
serial_device = hvc0
disk_device = xvda

Ahora creamos el host con el siguiente comando, podemos cambiar las opciones según nuestras necesidades.
# xen-create-image –hostname=nombre.example.com –size=5Gb –swap=512Mb –ip=192.168.0.100 –memory=256Mb –arch=amd64 –role=udev

Si queremos ver más opciones, consultamos el manual.
# man xen-create-image

Para arrancar nuestro nuevo host, ejecutamos el siguiente comando.
# xm create /etc/xen/nombre.example.com.cfg

Ya podemos acceder a la nueva máquina de la siguiente manera.
# xm console nombre.example.com

Si queremos que la máquina, se arranque automaticamente en el próximo reinicio.
# ln -s /etc/xen/nombre.example.com.cfg /etc/xen/auto

Comandos utiles:

Muestra las máquinas que están ejecutandose
# xm list

Apaga la máquina
# xm shutdown nombre.example.com

Fuerza el apagado de la máquina virtual
# xm destroy nombre.example.com

Muestra todos los comandos disponibles.
# xm help