Servicios Activos...pregunta

Tiene que ser en script, lo que me piden es guardar en el archivo servicios_activos, todos los servicios que hay en el sistema y el nivel en el que se activan y se paran.

Se empezaria por un ls /etc/init.d > servicios activos y despues es donde estoy atascado...eso mas el script de ps3ro hace lo que me piden, pero todo junto y sin separar los niveles de ejecucion...

algo asi es lo que llevo, pero tengo que ojearlo mas, me gustaria poder indicar dentro del archivo, los servicios del sistema y los niveles de ejecucion:

#!/bin/bash

ls /etc/init.d > servicios_activos

for (( i=0; i<=6; ++i ));

do

ls /etc/rc$i.d >> niveles;

done

grep K niveles >> servicios_activos

grep S niveles >> servicios_activos

Edito: es en ubuntu 11.04
Yo uso sysv-rc-conf

si quieres un script que liste se me ocurre algo como esto:

#/bin/bash

for (( i=0; i<=6; ++i ));

do

ls /etc/rc$i.d > fichero;
cat fichero | grep K > runlevel$i-off.txt;
cat fichero | grep S > runlevel$i-on.txt;

done

Esto te lista separado por runlevels y si están en ejecución.

luego lo podrías mejorarlo ejecutándolo con algún parámetro para que te saque solo el que tu quieras...
En sí es una mierda de script hehe pero es válido.
gracias por tu respuesta, efectivamente hace lo que tu dices, pero lo tengo enfocado de otra manera, listar los servicios activos y guardarlos en un fichero, y luego usar while read para compararlo con los rc pero aun me falta xD soy novato en el shell script
Umm pues no entiendo bien que es lo que quieres hehehe!!

Quieres listar todos los servicios que están en marcha en cualquier rc y luego comparar cuantos corresponden a cada rc... Quieres contarlos?

Si algo he aprendido en lo poco de programación que he hecho es: cuanto más simple y claro, mejor.

dime que quieres que haga exactamente y su puedo te ayudo.
También puedes usar chkconfig o sysv-rc-conf que tiene una interfaz gráfica.

sudo aptitude install chkconfig
sudo chkconfig --list
Tiene que ser en script, lo que me piden es guardar en el archivo servicios_activos, todos los servicios que hay en el sistema y el nivel en el que se activan y se paran.

Se empezaria por un ls /etc/init.d > servicios activos y despues es donde estoy atascado...eso mas el script de ps3ro hace lo que me piden, pero todo junto y sin separar los niveles de ejecucion...

algo asi es lo que llevo, pero tengo que ojearlo mas, me gustaria poder indicar dentro del archivo, los servicios del sistema y los niveles de ejecucion:

#!/bin/bash

ls /etc/init.d > servicios_activos

for (( i=0; i<=6; ++i ));

do

ls /etc/rc$i.d >> niveles;

done

grep K niveles >> servicios_activos

grep S niveles >> servicios_activos
En el directorio init.d se almacenan los servicios pero no con ello significan si están activos o no.

Para ello debes de hacer un enlace blando al rc y dependiendo en que nivel quieres parar o iniciar lo metes en el rc adecuado

/etc/rc?.d

Para automatizar en distros debian el proceso se utiliza el comando update-rc.d (que no tiene opción de list),te aconsejo el aplicativo chkconfig como te dice el compañero yog-sothoth.

Imagen
Lo que me piden en realidad es eso, listar todos los servicios, no me dicen nada si estan activos o no, y luego en que niveles están activos o no, todo esto guardado en un archivo txt y mediante un script, gracias por vuestro tiempo.
7 respuestas