Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE
atftp.6020
atftpd.init
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File atftpd.init of Package atftp.6020
#! /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=${ATFTPD_BIND_ADDRESSES:=""} # start as daemon with some default opts ATFTP_DEF_OPTS="--daemon --user $ATFTP_USR --group $ATFTP_GRP --logfile $ATFTP_LOG_FILE" # create logfile and PID directory if they don't exist create_logfile_and_piddir(){ # /var/run is mounted as tmpfs on openSUSE >= 11.4 [ ! -d "$ATFTP_PID_DIR" ] && /usr/bin/install -o ${ATFTP_USR} -g ${ATFTP_GRP} -d "$ATFTP_PID_DIR"; # must exist otherwise atftp will log to syslog [ ! -f "$ATFTP_PID_DIR" ] && /usr/bin/install -m 0644 -o ${ATFTP_USR} -g ${ATFTP_GRP} /dev/null "$ATFTP_LOG_FILE" } if [ "$ATFTP_USE_INETD" = "yes" ]; then echo "ATFTP is set to start via inetd" exit 0; fi case "$1" in start) create_logfile_and_piddir 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