ossp-pkg/rc/rc.example
1.3
##
## rc.example
##
## Examines different ways of writing run commands for a program.
## If used in production, this file would be different. It would
## have a name like 'rc.helloworld' and contain run commands 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 must be used 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 run commands for example daemon. Using native #
# rc default symbols and conventional identifiers. #
%confvars
sftpd_enable="yes"
sftpd_interpreter="/usr/bin/sh"
sftpd_anonymous="yes"
sftpd_flags=""
%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 ...
# Generic run commands for example daemon. Using #
# custom symbols and unconventional identifiers. #
!confvars
sftpd_enable="yes"
sftpd_interpreter="/usr/bin/sh"
sftpd_anonymous="yes"
sftpd_flags=""
!start -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`
!restart -u root
&term # reference to term section
sleep 2
&start # reference to start section
!status -c /usr/bin/perl
print STDERR "Sftpd status report";
for ...
# Generic run commands for example daemon. Using an #
# XML-like syntax and conventional identifiers. #
<config>
<set name=sftpd_enable>"yes"</set>
<set name=sftpd_interpreter>"/usr/bin/sh"</set>
<set name=sftpd_anonymous>"yes"</set>
<set name=sftpd_flags>""</set>
</config>
<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>
# Generic run commands for example daemon. Using a #
# ASN.1-like syntax and conventional identifiers. #
config CONFIG
BEGIN
sftpd_enable STRING ::= "yes"
sftpd_interpreter STRING ::= "/usr/bin/sh"
sftpd_anonymous STRING ::= "yes"
sftpd_flags STRING ::= ""
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
restart SECTION ::= {
priority INTEGER ::= 100
interpreter STRING ::= "/usr/bin/perl"
}
BEGIN
print STDERR "Sftpd status report";
for ...
END