OSSP CVS Repository

ossp - ossp-pkg/rc/rc.example 1.4
Not logged in
[Honeypot]  [Browse]  [Directory]  [Home]  [Login
[Reports]  [Search]  [Ticket]  [Timeline
  [Raw

ossp-pkg/rc/rc.example 1.4
##
##  rc.example - rcfile template
##
##  This file examines different ways of writing runcommands for a     ##
##  program.  If used in production, this file would be different.  It ##
##  would have a name like 'rc.helloworld' and contain runcommands     ##
##  for the 'helloworld' program. It would also have only one          ##
##  notation. A sample is repeated in this document using rc (native), ##
##  XML, and ASN.1 notation. The same rcfile semantics are repeated    ##
##  only to show what is possible through the abstract syntax offered  ##
##  by OSSP rc.                                                        ##
##                                                                     ##
##  To learn what regular expressions to use with the example          ##
##  example syntaxes in this document, refer to the rc.conf file       ##
##  included with the original OSSP rc distribution. It has the        ##
##  corresponding regular expressions settings.                        ##
##                                                                     ##

# Generic runcommands for example daemon. Using #
# default symbols and conventional identifiers. #

%confvars
    sftpd_enable="yes"
    sftpd_anonymous="yes"
    sftpd_flags=""

%common
    timeStamp   # Function from rc.func library

%start -p 200 -u root
    /usr/local/sbin/sftpd -c

%stop -p 200 -u root
    kill -TERM `cat /var/sftp/run/sftpd.pid` 

%reload -u root
    kill -HUP `cat /var/sftp/run/sftpd.pid` 

%restart -u root
    @stop       # Reference to term section
    sleep 2
    @start      # Reference to start section

%status -c /usr/bin/perl
    print STDERR "Sftpd status report";
    for ...
# End stock syntax example rcfile


# Generic runcommands for example daemon. Using  #
# custom symbols and unconventional identifiers. #

!confvars
    sftpd_enable="yes"
    sftpd_anonymous="yes"
    sftpd_flags=""

!prependwith
    timeStamp   # Function from rc.func library

!run -p 200 -u root
    /usr/local/sbin/sftpd -c

!term -p 200 -u root
    kill -TERM `cat /var/sftp/run/sftpd.pid` 

!hangup -u root
    kill -HUP `cat /var/sftp/run/sftpd.pid` 

!termrun -u root
    &term       # Reference to term section
    sleep 2
    &start      # Reference to start section

!printstat -c /usr/bin/perl
    print STDERR "Sftpd status report";
    for ...
# End custom syntax example rcfile


# Generic runcommands for example daemon. Using an #
# XML-like syntax and conventional identifiers.    #

<config>
    <set name=sftpd_enable>"yes"</set>
    <set name=sftpd_anonymous>"yes"</set>
    <set name=sftpd_flags>""</set>
</config>

<common>
    timeStamp   # Function from rc.func library
</common>

<start pri=200 user=root>
    /usr/local/sbin/sftpd -c
</start>

<stop pri=200 user=root>
    kill -TERM `cat /var/sftp/run/sftpd.pid` 
</stop>

<reload user=root>
    kill -HUP `cat /var/sftp/run/sftpd.pid` 
</reload>

<restart user=root>
    <refer name=stop>   # Reference to term section
    sleep 2
    <refer name=start>  # Reference to start section
</restart>

<status pri=100 interpreter=/usr/bin/perl>
    print STDERR "Sftpd status report";
    for ...
</status>
# End XML-like syntax example rcfile


# Generic runcommands for example daemon. Using a #
# ASN.1-like syntax and conventional identifiers. #

config CONFIG
    BEGIN
        sftpd_enable STRING ::= "yes"
        sftpd_anonymous STRING ::= "yes"
        sftpd_flags STRING ::= ""
    END

common COMMON
    BEGIN
        timeStamp   # Function from rc.func library
    END

start SECTION ::= {
    priority INTEGER ::= 200
    user STRING ::= "root"
}
    BEGIN
        /usr/local/sbin/sftpd -c
    END

stop SECTION ::= {
    priority INTEGER ::= 200
    user STRING ::= "root"
}
    BEGIN
        kill -TERM `cat /var/sftp/run/sftpd.pid` 
    END

reload SECTION ::= {
    user STRING ::= "root"
}
    BEGIN
        kill -HUP `cat /var/sftp/run/sftpd.pid` 
    END

restart SECTION ::= {
    user STRING ::= "root"
}
    BEGIN
        stop REFER  # Reference to term section
        sleep 2
        start REFER # Reference to start section
    END

status SECTION ::= {
    priority INTEGER ::= 100
    interpreter STRING ::= "/usr/bin/perl"
}
    BEGIN
        print STDERR "Sftpd status report";
        for ...
    END
# End ASN.1-like syntax example rcfile

CVSTrac 2.0.1