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

sh de arranque como root

Estas en el tema de sh de arranque como root en el foro de Unix / Linux en Foros del Web. Hola. Sólo tengo conocimientos básicos en Linux. Tengo un equipo servidor de Base de Datos postgres en una sede, cuando se va la luz, hay ...
  #1 (permalink)  
Antiguo 06/09/2010, 16:45
 
Fecha de Ingreso: octubre-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 0
sh de arranque como root

Hola.

Sólo tengo conocimientos básicos en Linux.

Tengo un equipo servidor de Base de Datos postgres en una sede, cuando se va la luz, hay que hacer una especie de reinicio de postgresql. Me anotaron los pasos para hacerlo y funcionan bien si entro a consola y escribo uno por uno:

1. (Entrar como root)
2. service postgresql stop
3. su postgres
4. /usr/bin/postmaster -i -D /var/lib/pgsql/data &

Lo que quiero ahora es crear un .sh que se ejecute automáticamente cuando se enciende el equipo y tengo varios problemas:

a. No sé como hacer un .sh diciéndole que entre como root (más la contraseña)
b. Puedo crear el .sh desde el paso (2) y ejecutarlo como root pero no vuelve a arrancar, es como si solo hiciera los pasos (2) y (3)

Mis preguntas son:
I. ¿Cómo creo un sh que se ejecute como root?,
II. ¿Por qué el bash parece no ejecutarse completamente?
  #2 (permalink)  
Antiguo 07/09/2010, 11:31
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 10 meses
Puntos: 19
Respuesta: sh de arranque como root

Código bash:
Ver original
  1. #!/bin/bash
  2. #entramos como root, te pedirá password
  3. su
  4. service postgresql stop
  5. #ahora entras como usuario postgres
  6. su postgres
  7. #no se si esta orden es correcta ...
  8. /usr/bin/postmaster -i -D /var/lib/pgsql/data &

Puedes llamar al script desde $HOME/.bash_profile
o desde (All users except root) /etc/profile
Y si inicias como root desde /root/.bash_profile

salu2
  #3 (permalink)  
Antiguo 08/09/2010, 17:42
 
Fecha de Ingreso: octubre-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 0
Exclamación Respuesta: sh de arranque como root

Cita:
Iniciado por dogduck Ver Mensaje
Código bash:
Ver original
  1. #!/bin/bash
  2. #entramos como root, te pedirá password
  3. su
  4. service postgresql stop
  5. #ahora entras como usuario postgres...

Puedes llamar al script desde $HOME/.bash_profile
o desde (All users except root) /etc/profile
Y si inicias como root desde /root/.bash_profile

salu2
gracias dogduck, el problema es que como es un .sh para ejecutarse automáticamente al iniciar el sistema, ni siquiera debo darle una contraseña de root sino que debe correr todo sin intervención humana. Es decir que además de debe ejecutar desde init.d
  #4 (permalink)  
Antiguo 09/09/2010, 06:47
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 22 años, 5 meses
Puntos: 35
Respuesta: sh de arranque como root

Por lo que veo, lo que haces en el punto 4 es lo mismo que hace el script de inicio de PostgreSQL. ¿Por qué no usas ese script directamente?
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #5 (permalink)  
Antiguo 10/09/2010, 10:00
 
Fecha de Ingreso: agosto-2010
Mensajes: 14
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: sh de arranque como root

Si lo que quieres es que al encender tu servidor arranquen los servicios de postgres automaticamente.

Hay unos archivos que se llaman rc (run control), y en linux existen 5 niveles que es como va levantando una máquina, estos archivos se crean en un directorio que pertenece a cada nivel y los scripts que pones en estos directorios se ejecutan como root.

- rc 0: Apagado (halt).
- rc 1: Monousuario (sólo usuario root; no es necesaria la contraseña). Se suele usar para analizar y reparar problemas o recuperar el password de root.
- rc 2: Multiusuario sin soporte de red.
- rc 3: Multiusuario con soporte de red.
- rc 4: Como el runlevel 3, pero no se suele usar
- rc 5: Multiusuario en modo gráfico (X Windows).
- rc 6: Reinicio (reboot).

Los archivos que se encuentran en estos directorios /etc/rc0.d hasta /etc/rc6.d
tienen una caracteristica importante. los que dicen S (start) son los scripts que se ejecutan cuando inicia la máquina y los que dicen K (kill) son los que se ejecutan cuando apagas la máquina... está letra deberá ser mayuscula.

despues del resumen de los RC... jejeje

hay muchas formas de resolver este problema... pero se me ocurre lo siguiente.

SOLUCIÓN DE POSTGRES.

1- Crea un script con el siguiente nombre y en la ruta /etc/rc5.d (esto deberas hacerlo cmo root).

# vi /etc/rc5.d/S99PostgreSQL
# Contenido del script
su -l postgres -c '/usr/bin/postmaster -i -D /var/lib/pgsql/data &'
# fin del script

2- dar permisos de ejecución.

# chmod 755 /etc/rc5.d/S99PostgreSQL

3- y ya es todo... si puedes reiniciar la máquina o conseguir una ventana para probar.

espero que te sirva de algo.

Saludos.

Por cierto como dice ociomax, puedes utilizar el script de autoarranque... a menos que hayas compilado postgres y deberás crear un script similar a ese o algo como lo que te estoy poniendo en el correo.
  #6 (permalink)  
Antiguo 10/09/2010, 12:15
 
Fecha de Ingreso: octubre-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 0
Información Respuesta: sh de arranque como root

Cita:
Iniciado por ociomax Ver Mensaje
Por lo que veo, lo que haces en el punto 4 es lo mismo que hace el script de inicio de PostgreSQL. ¿Por qué no usas ese script directamente?
Gracias por responder ociomax.

No uso ese script por que mi conocimiento no llega hasta allá, ¿dónde lo encuentro o qué debo hacer con ese script?
  #7 (permalink)  
Antiguo 10/09/2010, 12:18
 
Fecha de Ingreso: octubre-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: sh de arranque como root

Gracias por responder quest_mx.

Parece que no es tan difícil, aunque me metí a buscar los rc# y nos los encontré, supongo que habrá que crearlos, estoy entrando por Putty a un Suse sin interfaz gráfica, por lo que supongo que no debo usar rc5 sino rc3.

Voy a probar, espero no equivocarme.

Etiquetas: arranque, root
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 01:23.