Foros del Web » Administración de Sistemas » Unix / Linux »

Script Centos

Estas en el tema de Script Centos en el foro de Unix / Linux en Foros del Web. Hola a todos. Estoy recién comezando en esto del mundo Linux (nivel teletubie). Solo conozco comandos básicos. Espero me puedan ayudar: Acabo de instalar Centos ...
  #1 (permalink)  
Antiguo 09/02/2012, 12:10
 
Fecha de Ingreso: febrero-2012
Mensajes: 7
Antigüedad: 12 años, 2 meses
Puntos: 0
Script Centos

Hola a todos.

Estoy recién comezando en esto del mundo Linux (nivel teletubie). Solo conozco comandos básicos. Espero me puedan ayudar:

Acabo de instalar Centos de 64 bits en un servidor y posee un sistema de monitoreo Zenoss 3.2.1 también de 64 bits. Yo tengo que quiero crear un backup de este sistema de monitoreo y enviarlo a las 3 am a un servidor windows que ya está montado vía samba. Sé que tengo que hacer un script y luego un cron para crear de manera automática el backup.

El único script que hice fue de ¨Bienvenido¨ para hrml hace años XD y ni siquiera sé si a eso se le puede llama script. En otras palabras estoy nulo en este tema y peor lo de cron.

Para crear el backup de zenoss se realiza de la siguiente forma:

[root@monitoreo ~] # su - zenoss

[zenoss@monitoreo ~] # tar -czvf /mnt/backup/ZenossZENHOME/Backup_zenhome.tar.gz /opt/zenoss

[zenoss@monitoreo ~] # zenbackup -v10 --save-mysql-access --file=/mnt/backup/Zenossbasededatos/Backup_mysql.tgz

El primero es una compresión del directorio donde está instalado zenoss.
El segundo es un backup de la base de datos.
Estos backups deben reemplazar al anterior.

Espero me puedan ayudar.
  #2 (permalink)  
Antiguo 10/02/2012, 15:00
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Script Centos

Pues los mismos comandos que escribís los ponés en un script. Me refiero a los dos últimos y no al "su".

Luego te fijás en la wikipedia en la página de cron el formato del archivo crontab, y le ponés una entrada para tu script, en el crontab del usuario zenoss (es decir, cambiás al usuario zenoss y hacés un crontab -e)


Saludos.
  #3 (permalink)  
Antiguo 10/02/2012, 16:29
 
Fecha de Ingreso: febrero-2012
Mensajes: 7
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Script Centos

Hola AlvaroG.

Gracias por tu respuesta.

Me salieron las dos primeras líneas con un script.

La última es un comando propio de zenoss y se tiene que ejecutar con el usuario zenoss, hice un script llamado backup.sh para que genere el backup el cual lo hace sin ningún problema (este script tiene permisos del usuario zenoss), el problema está en que cuando lo configuro en el cron -e -u zenoss de la siguiente manera:

30 2 * * * /home/zenoss/backup.sh

No lo ejecuta, voy al log del cron y sale solamente esto:

¨Feb 10 17:12:01 localhost crond[4197]: (zenoss) CMD (/home/zenoss/backup.sh)¨

Alguna opinión sobre el por qué no ejecuta el script?
  #4 (permalink)  
Antiguo 10/02/2012, 18:17
Avatar de mcun  
Fecha de Ingreso: octubre-2010
Ubicación: tras la pantalla
Mensajes: 466
Antigüedad: 13 años, 6 meses
Puntos: 55
Respuesta: Script Centos

Cita:
Editar crontab de un usuario en particular
crontab [ -u usuario ] fichero
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
eso revisa que usuario ejecuta el script, o mejor dicho en el cron de que usuario se ejecuta el script y que este tenga habilitado el uso de cron

fuente : http://es.wikipedia.org/wiki/Cron_(Unix)

Última edición por mcun; 10/02/2012 a las 18:19 Razón: agregar fuente
  #5 (permalink)  
Antiguo 11/02/2012, 12:16
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Script Centos

Varias cosas a comprobar:
1.- ¿le llega correo al usuario? en una terminal, y como el usuario zenoss, escribe "mail" para ver el correo interno del servidor. Los mensajes de error que lance cron irán allí (a menos que configures un .forward en la carpeta del usuario)

2.- ¿tu script es correcto? ¿tiene el hashbang y permisos de ejecución? Si no los tiene, la línea en el crontab debe ser "sh /ruta/al/script" para que sh pueda ejecutarlo.

3.- ¿Qué tal el PATH? Es un problema común al usar rutas relativas en cron que un ejecutable no se encuentre por no estar en el PATH del usuario.


Revisa eso y nos cuentas :)


Saludos.
  #6 (permalink)  
Antiguo 12/02/2012, 09:50
 
Fecha de Ingreso: febrero-2012
Mensajes: 7
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Script Centos

Hola Álvaro.

Te comento:

El script se encuentra dentro del usuario zenoss en la carpeta /home/zenoss/copia.sh, tiene permisos de ejecución y es ejecutado solo por el usuario zenoss.

Ejecuté el script y realiza la tarea sin problemas

Lo que agregué último al crontab fue 30 3 * * * zenoss /home/zenoss/zenoss.sh, pero se mantiene el mismos error.
  #7 (permalink)  
Antiguo 12/02/2012, 10:46
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Script Centos

¿por qué el "zenoss" en la línea de crontab? no debería estar allí.
te recomiendo que vayas por la vía de "mail" (ver el correo del servidor para el usuario zenoss) o agregar un archivo .forward a la carpeta del usuario, que contenga únicamente tu dirección de correo electrónico.

cron siempre envía correo al usuario cuando falla, y seguro que para cada falla tenés un correo esperándote y detallando el problema. Es por eso que te pido que veas el correo del usuario con el comando mail, o lo redirijas con .forward


Saludos.
  #8 (permalink)  
Antiguo 20/02/2012, 09:46
 
Fecha de Ingreso: febrero-2012
Mensajes: 7
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Script Centos

Hola AlvaroG.

Estaba revisando y tenía que configurar el cron.allow y permitir que todos ejecuten cron. El centos que tengo no tiene ese archivo.

Este archivo en dónde lo creo?

En /etc/cron.allow o en /etc/cron.d/cron.allow
  #9 (permalink)  
Antiguo 20/02/2012, 10:46
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Script Centos

Si no lo tiene, quizás no lo necesite. Pero vale la pena probar todas las opciones.

Fijate si no tenés por allí un cron.deny, en caso afirmativo el cron.allow debe ir en la misma carpeta.

La ubicación puede depender de la distribución (no estoy seguro, en realidad) , encontré que en CentOS debe ir en /etc/cron.allow

Etiquetas: centos, linux, scripts
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:24.