The UNIX and Linux Forums  


Go Back   El UNIX y Linux Foros > Arriba Foros > UNIX for Dummies Preguntas y Respuestas > Respuestas a las Preguntas más frecuentes > Consejos y tutoriales
.
google unix.com



Consejos y tutoriales Artículos útiles de nuestros usuarios.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Domingo Solaris10 quickgun Sun Solaris 2 02-16-2009 06:46 AM
Re: Crontab en solaris10 gullapalli Sun Solaris 7 05-05-2008 08:29 PM
Detección de NIC en Solaris10 jimthompson Redes IP 1 12-06-2005 09:35 AM
Detección de NIC en Solaris10 jimthompson UNIX para usuarios avanzados y expertos 1 12-06-2005 09:34 AM
la creación de un servicio en init.d collins UNIX para usuarios avanzados y expertos 2 09-30-2004 11:28 AM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 11-16-2006
Tornado's Avatar
Tornado Tornado is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: noviembre 2006
Localización: Melbourne
Puestos: 249
Creación de un servicio Solaris10

Los pasos generales que se requieren son:
o Determinar el proceso para iniciar y detener el servicio.
o Establecer un nombre para el servicio, la categoría y este servicio se divide en.
o Determinar si el servicio se ejecuta varias instancias.
o Identificar las relaciones de dependencia entre este servicio y cualquier otro servicio.
o Si se requiere una secuencia de comandos para iniciar y detener el proceso, crear el script y lo colocamos en un directorio local, como / usr / local / svc / método
o Crear un servicio de archivo de manifiesto para su servicio. Este archivo describe el servicio y las relaciones de dependencia. Servicio de manifiestos se tiró en el repositorio, ya sea mediante el uso de svccfg mando o en el momento del arranque.
o Incorporar en los scripts usando el SMF svccfg utilidad.

La siguiente muestra un ejemplo.

Código:
# vi /usr/local/svc/method/newservice
#!/sbin/sh
#
# Copyright (c) 1995, 1997-1999 by Sun Microsystems, Inc.
# All rights reserved.
#
#ident  "@(#)newservice    1.14    06/11/17 SMI"

case "$1" in
'start')
	/usr/bin/newservice &
	;;

'stop')
        /usr/bin/pkill -x -u 0 newservice
	;;

*0
	echo "Usage: $0 { start | stop }"
	;;
esac
exit 0

# chmod 544 /usr/local/svc/method/newservice

# cd /var/svc/manifest/site
# vi newservice.xml
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<!--
    Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
    Use is subject to license terms.

    pragma ident        "@(#)newservice.xml 1.2     04/08/09 SMI"
-->

<service_bundle type='manifest' name='OPTnew:newservice'>

<service
    name='site/newservice'
    type='service'
    version='1'>

    <single_instance/>
	<dependency
            name='usr'
            type='service'
            grouping='require_all'
            restart_on='none'>
                <service_fmri value='svc:/system/filesystem/local'/>
        </dependency>

        <dependency
            name='newservice'
            grouping='require_all'
            restart_on='none'>
            <service_fmri value='svc:/milestone/multi-user'/>
        </dependency>

        <exec_method
            type='method'
            name='start'
            exec='/lib/svc/method/newservice start'
            timeout_seconds='30' />

        <exec_method
            type='method'
            name='stop'
            exec='/lib/svc/method/newservice stop'
            timeout_seconds='30' />

        <property_group name='startd' type='framework'>
                <propval name='duration' type='astring' value='transient' />
        </property_group>

        <instance name='default' enabled='true' />

        <stability value='Unstable' />

        <template>
                <common_name>
                        <loctext xml:lang='C'>
                                New Service
                        </loctext>
                </common_name>
        </template>
</service>

</service_bundle>

A continuación se describen las entradas en el archivo:

o Encabezado estándar.

Código:
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM
"/usr/share/lib/xml/dtd/service_bundle.dtd.1">

o Comentario de la Sección.

Código:
<!--
    Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
    Use is subject to license terms.

    pragma ident        "@(#)newservice.xml 1.2     04/08/09 SMI"
-->

o El nombre del servicio. el tipo (manifiesto), indica un servicio sencillo, más que un hito, el conjunto de la prestación del servicio, y el nombre del servicio.

Código:
<service_bundle type='manifest' name='OPTnew:newservice'>

o La categoría de servicios, tipo, nombre y versión.

Código:
<service
    name='site/newservice'
    type='service'
    version='1'

o Si varias instancias del servicio se ejecute.

Código:
<single_instance/>

o el modelo de servicio a utilizar. La entrada muestra que el servicio se iniciará por svc.startd. servicios transitorios se inician una vez y no reinicia.

Código:
<property_group name='startd' type='framework'>
                <propval name='duration' type='astring' value='transient' />
        </property_group>

o ¿Cómo se inicia el servicio y se detuvo.

Código:
        <exec_method
            type='method'
            name='start'
            exec='/lib/svc/method/newservice start'
            timeout_seconds='30' />

        <exec_method
            type='method'
            name='stop'
            exec='/lib/svc/method/newservice stop'
            timeout_seconds='30' />

o Definir cualquier dependencias para este servicio. La primera entrada indica que el newservice requiere el sistema de archivos / servicio local.

Código:
	<dependency
            name='usr'
            type='service'
            grouping='require_all'
            restart_on='none'>
                <service_fmri value='svc:/system/filesystem/local'/>
        </dependency>

o La segunda entrada se asegura de que su servicio está asociado con el multi-usuario y el hito que la multi-usuario hito requiere este servicio.

Código:
        <dependency
            name='newservice'
            grouping='require_all'
            restart_on='none'>
            <service_fmri value='svc:/milestone/multi-user'/>
        </dependency>

o La creación de la instancia.

Código:
        <instance name='default' enabled='true' />

        <stability value='Unstable' />

o Creación de información para describir el servicio.

Código:
        <template>
                <common_name>
                        <loctext xml:lang='C'>
                                New Service
                        </loctext>
                </common_name>
        </template>

El nuevo servicio (newservice) ahora tiene que ser importada en SMF.
Esto se hace ejecutando la utilidad svccfg:

Código:
# svccfg import /var/svc/manifest/site/newservice.xml

Después de que el servicio ha sido importado en el SMF que debería ser visible usando el comando SVCS.

Código:
# svcs newservice
STATE		STIME	FMRI
online		8:57:35	svc:/site/newservice:default
#

También debería ser posible manipular el servicio utilizando svcadm.

Código:
# svcadm -v disable site/newservice
site/newservice disabled.
# svcs newservice
STATE		STIME	FMRI
disabled	9:07:15	svc:/site/newservice:default
# svcadm -v enable site/newservice
site/newservice enabled.
# svcs newservice
STATE		STIME	FMRI
online		9:17:01	svc:/site/newservice:default
#

Por último, se puede observar que el hito multiusuario requiere la newservice para completar sus necesidades.

Código:
# svcs -d milestone/multi-user:default
STATE		STIME	FMRI
disabled	8:43:16 svc:/platform/sun4u/sf880drd:default
online		8:43:16 svc:/milestone/name-services:default
online		8:43:33 svc:/system/rmtmpfiles:default
online		8:43:42 svc:/network/rpc/bind:default
online		8:43:46 svc:/milestone/single-user:default
online		8:43:46 svc:/system/utmp:default
online		8:43:47 svc:/system/system-log:default
online		8:43:49 svc:/system/filesystem/local:default
online		8:44:01 svc:/system/mdmonitor:default
online		9:17:01 svc:/site/newservice:default
#


Última edición por soplete; al 11-16-2006 08:12 PM.. Motivo: fijar incompleta etiqueta XML para el servicio. el cierre '>' no estuvo presente
 

Marcadores

Etiquetas
solaris

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 10:48 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0