Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:11.4
atftp
atftpd.init.d
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File atftpd.init.d of Package atftp
#! /bin/sh # Copyright (c) 2002,2003 SuSE Linux AG, Nuernberg, Germany. # All rights reserved. # # Author: Anas Nashif # # /etc/init.d/atftpd # and its symbolic link # /usr/sbin/rcatftpd # ### BEGIN INIT INFO # Provides: atftpd # Required-Start: $syslog $remote_fs # Required-Stop: $syslog $remote_fs # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: launch atftpd server # Description: launch Advanced TFTP Server ### END INIT INFO # Shell functions sourced from /etc/rc.status: # rc_check check and set local and overall rc status # rc_status check and set local and overall rc status # rc_status -v ditto but be verbose in local rc status # rc_status -v -r ditto and clear the local rc status # rc_failed set local and overall rc status to failed # rc_failed <num> set local and overall rc status to <num><num> # rc_reset clear local rc status (overall remains) # rc_exit exit appropriate to overall rc status # rc_active checks whether a service is activated by symlinks . /etc/rc.status # First reset status of this service rc_reset # Return values acc. to LSB for all commands but status: # 0 - success # 1 - generic or unspecified error # 2 - invalid or excess argument(s) # 3 - unimplemented feature (e.g. "reload") # 4 - insufficient privilege # 5 - program is not installed # 6 - program is not configured # 7 - program is not running # # Note that starting an already running service, stopping # or restarting a not-running service as well as the restart # with force-reload (in case signalling is not supported) are # considered a success. ATFTP_BIN="/usr/sbin/atftpd" if [ ! -x $ATFTP_BIN ]; then echo -n "Advanced Trivial FTP server, $ATFTP_BIN is not installed." # Tell the user this has skipped rc_status -s exit 5 fi ATFTP_LOG_FILE="/var/log/atftpd/atftp.log" ATFTP_LOG_DIR="$(dirname ${ATFTP_LOG_FILE})" ATFTP_PID_DIR="/var/run/atftpd" # check for sysconfig file [ -f /etc/sysconfig/atftpd ] && . /etc/sysconfig/atftpd # Set default in case of missing sysconfig file ATFTP_USR=${ATFTPD_USER:="tftp"} ATFTP_GRP=${ATFTPD_GROUP:="tftp"} ATFTP_OPTS=${ATFTPD_OPTIONS:=""} ATFTP_USE_INETD=${ATFTPD_USE_INETD:="no"} ATFTP_DIR=${ATFTPD_DIRECTORY:="/srv/tftpboot"} ATFTP_BIND=${ATFTP_BIND_ADDRESSES:=""} # start as daemon with some default opts ATFTP_DEF_OPTS="--daemon --user $ATFTP_USR --group $ATFTP_GRP --logfile $ATFTP_LOG_FILE" # set correct perm on log_dir/pid_dir # IN: $ATFTP_USR set_perm(){ [ ! -f "$ATFTP_LOG_FILE" ] && touch "$ATFTP_LOG_FILE"; chown -R ${1}:root "$ATFTP_LOG_DIR" [ ! -d "$ATFTP_PID_DIR" ] && /usr/bin/install -d "$ATFTP_PID_DIR"; chown -R ${1}:root "$ATFTP_PID_DIR" } if [ "$ATFTP_USE_INETD" = "yes" ]; then echo "ATFTP is set to start via inetd" exit 0; fi case "$1" in start) set_perm "${ATFTP_USR}" if [ -n "$ATFTP_BIND" ]; then for IP in $ATFTP_BIND; do echo -n "Starting Advanced Trivial FTP server on $IP: " ## Start daemon with startproc(8). If this fails ## the echo return value is set appropriate. startproc -p "${ATFTP_PID_DIR}/$IP.pid" -f $ATFTP_BIN --pidfile "${ATFTP_PID_DIR}/$IP.pid" $ATFTP_DEF_OPTS $ATFTP_OPTS $ATFTP_DIR --bind-address $IP # Remember status and be verbose rc_status -v done else echo -n "Starting Advanced Trivial FTP server: " ## Start daemon with startproc(8). If this fails ## the echo return value is set appropriate. startproc $ATFTP_BIN --pidfile "${ATFTP_PID_DIR}/pid" $ATFTP_DEF_OPTS $ATFTP_OPTS $ATFTP_DIR # Remember status and be verbose rc_status -v fi ;; stop) echo -n "Stopping Advanced Trivial FTP server: " killproc -TERM $ATFTP_BIN # Remember status and be verbose rc_status -v ;; try-restart) ## Do a restart only if the service was active before. ## Note: try-restart is not (yet) part of LSB (as of 1.2) $0 status >/dev/null && $0 restart # Remember status and be quiet rc_status ;; restart) ## Stop the service and regardless of whether it was ## running or not, start it again. $0 stop $0 start # Remember status and be quiet rc_status ;; force-reload) #echo -n "Reloading Advanced Trivial FTP server: " ## if it supports it: #/sbin/killproc -HUP $ATFTP_BIN #touch /var/run/FOO.pid # Remember status and be verbose #rc_status -v ## Otherwise: $0 try-restart #rc_status ;; reload) echo -n "Reloading Advanced Trivial FTP server: " ## Like force-reload, but if daemon does not support ## signaling, do nothing (!) # If it supports signaling: #/sbin/killproc -HUP $ATFTP_BIN #touch /var/run/FOO.pid # Remember status and be verbose #rc_status -v ## Otherwise if it does not support reload: rc_failed 5 # Remember status and be verbose rc_status -v ;; status) echo -n "Checking for Advanced Trivial FTP server: " ## Check status with checkproc(8), if process is running ## checkproc will return with exit status 0. # Return value is slightly different for the status command: # 0 - service running # 1 - service dead, but /var/run/ pid file exists # 2 - service dead, but /var/lock/ lock file exists # 3 - service not running # NOTE: checkproc returns LSB compliant status values. checkproc $ATFTP_BIN # Remember status and be verbose rc_status -v ;; *) echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}" exit 1 ;; esac rc_exit
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor