Skip to content

Instantly share code, notes, and snippets.

@tuklusan
Last active October 15, 2021 13:52
Show Gist options
  • Save tuklusan/e54ce1df96eb3f0b81fc831746736b3a to your computer and use it in GitHub Desktop.
Save tuklusan/e54ce1df96eb3f0b81fc831746736b3a to your computer and use it in GitHub Desktop.
/sbin/init.d/rclocal - execute Linux-style rc.local on HP-UX 11.11 or other rc and init.d based Unix environments that don't support rc.local directly; see https://supratim-sanyal.blogspot.com/2021/10/linux-style-etcrclocal-for-hp-ux-1111.html
#!/sbin/sh
# *****
# /sbin/init.d/rclocal
# execute Linux-style rc.local on HP-UX 11.11 or other rc and init.d based
# Unix environments that don't support rc.local directly; see
# https://supratim-sanyal.blogspot.com/2021/10/linux-style-etcrclocal-for-hp-ux-1111.html
# *****
# Allowed exit values:
# 0 = success; causes "OK" to show up in checklist.
# 1 = failure; causes "FAIL" to show up in checklist.
# 2 = skip; causes "N/A" to show up in the checklist.
# Use this value if execution of this script is overridden
# by the use of a control variable, or if this script is not
# appropriate to execute for some other reason.
# 3 = reboot; causes the system to be rebooted after execution.
# 4 = background; causes "BG" to show up in the checklist.
# Use this value if this script starts a process in background mode.
# Input and output:
# stdin is redirected from /dev/null
#
# stdout and stderr are redirected to the /etc/rc.log file
# during checklist mode, or to the console in raw mode.
PATH=/usr/sbin:/usr/bin:/sbin
export PATH
# NOTE: If your script executes in run state 0 or state 1, then /usr might
# not be available. Do not attempt to access commands or files in
# /usr unless your script executes in run state 2 or greater. Other
# file systems typically not mounted until run state 2 include /var
# and /opt.
rval=0
# Check the exit value of a command run by this script. If non-zero, the
# exit code is echoed to the log file and the return value of this script
# is set to indicate failure.
#set_return() {
# x=$?
# if [ $x -ne 0 ]; then
# echo "EXIT CODE: $x"
# rval=1 # script FAILed
# fi
#}
# Kill the named process(es).
# $1=<search pattern for your process>
#killproc() {
# pid=`ps -el | awk '( ($NF ~ /'"$1"'/) && ($4 != mypid) && ($5 != mypid) ){ print $4 }' mypid=$$ `
# if [ "X$pid" != "X" ]; then
# if kill "$pid"; then
# echo "$1 stopped"
# else
# rval=1
# echo "Unable to stop $1"
# fi
# fi
#}
case $1 in
'start_msg')
# Emit a _short_ message relating to running this script with
# the "start" argument; this message appears as part of the checklist.
echo "Executing SANYALnet Labs /etc/rc.local"
;;
'stop_msg')
# Emit a _short_ message relating to running this script with
# the "stop" argument; this message appears as part of the checklist.
#echo "Stopping the <specific> subsystem"
echo "Executing SANYALnet Labs /etc/rc.shutdown"
;;
'start')
# source the system configuration variables
if [ -f /etc/rc.config ] ; then
. /etc/rc.config
else
echo "ERROR: /etc/rc.config defaults file MISSING"
fi
if [ -x /etc/rc.local ] ; then
. /etc/rc.local #IMP: the file is sourced
else
echo "ERROR: cannot execute /etc/rc.local"
fi
# Check to see if this script is allowed to run...
#if [ "$CONTROL_VARIABLE" != 1 ]; then
# rval=2
#else
#
# Execute the commands to start your subsystem
#:
#fi
;;
'stop')
# source the system configuration variables
if [ -f /etc/rc.config ] ; then
. /etc/rc.config
else
echo "ERROR: /etc/rc.config defaults file MISSING"
fi
if [ -x /etc/rc.shutdown ] ; then
. /etc/rc.shutdown #IMP - the files is sourced
else
echo "ERROR: cannot execute /etc/rc.shutdown"
fi
# Check to see if this script is allowed to run...
#if [ "$CONTROL_VARIABLE" != 1 ]; then
# rval=2
#else
#:
# Execute the commands to stop your subsystem
#fi
;;
*)
echo "usage: $0 {start|stop|start_msg|stop_msg}"
rval=1
;;
esac
exit $rval
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment