p4ftpd_base #6

  • //
  • guest/
  • perforce_software/
  • sdp/
  • main/
  • Server/
  • Unix/
  • p4/
  • common/
  • bin/
  • p4ftpd_base
  • View
  • Commits
  • Open Download .zip Download (2 KB)
#!/bin/bash
#==============================================================================
# Copyright and license info is available in the LICENSE file included with
# the Server Deployment Package (SDP), and also available online:
# https://swarm.workshop.perforce.com/projects/perforce-software-sdp/view/main/LICENSE
#------------------------------------------------------------------------------

#
# P4FTP base init script

# Do nothing unless $SDP_INSTANCE is defined.
if [[ -z "$SDP_INSTANCE" ]]; then
   echo -e "\nError: The SDP_INSTANCE is not defined.\n."
   exit 1
fi

# Load SDP controlled shell environment.
source /p4/common/bin/p4_vars "$SDP_INSTANCE" ||\
   { echo -e "\nError: Failed to load SDP environment.\n"; exit 1; }

if [[ $(id -u) -ne 0 ]]; then
   echo "$0 can only be run as root."
   exit 1
fi

if [[ ! -x $P4FTPBIN ]]; then
   echo -e "\nError: $P4FTPBIN is not executable."
   exit 2;
fi

# See how we were called.
case "${1:-status}" in
   start)
      $P4FTPBIN $P4FTPARGS
      ps -ef | grep "p4ftpd_${SDP_INSTANCE}" |grep -v grep|grep -v p4ftpd_${SDP_INSTANCE}_init|awk '{ print $2}' > $P4HOME/pid.p4ftpd_${SDP_INSTANCE}
   ;;
   status)
      PID=$(cat /p4/${INSTANCE}/pid.p4ftpd_${INSTANCE})
      PID=$(echo $PID)
      $PS -p $PID > /dev/null 2>&1
      if [[ $? -eq 0 ]]; then
         echo -e "\n$P4FTPBIN is running as pid $PID."
      else
         echo -e "\n$P4FTPBIN is NOT running."
      fi
   ;;
   stop)
      echo -n "Shutting down $P4FTPBIN: "
      PID=`cat /p4/${INSTANCE}/pid.p4ftpd_${INSTANCE}`
      kill $PID
      echo
   ;;
   restart)
      $0 stop
      $0 start
   ;;
   *)
      echo -e "\nUsage: $0 {start|stop|status|restart}\n"
      exit 1
   ;;
   esac

exit 0

# Change User Description Committed
#9 23044 C. Thomas Tyler Released SDP 2017.3.23041 (2017/10/24).
Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'.
#8 20565 C. Thomas Tyler Released SDP 2016.1.20559 (2016/09/14).
Copy Up using 'p4 copy -r -b perforce_software-sdp-dev',
with selective removal of work-in-progress files.
#7 20519 C. Thomas Tyler Released SDP 2016.1.20491 (2016/09/09).
Copy Up using 'p4 copy -r -b perforce_software-sdp-dev',
with selective removal of work-in-progress files.
#6 20481 C. Thomas Tyler Released SDP 2016.1.20460.

          Copy Up using 'p4 copy -r -b perforce_software-sdp-dev',
          with selective removal of changes related to work-in-progress files.
#5 15856 C. Thomas Tyler Replaced the big license comment block with a shortened
form referencing the LICENSE file included with the SDP
package, and also by the URL for the license file in
The Workshop.
#4 15777 C. Thomas Tyler No functional changes.

Style Policing only on bash scripts only.

Normalized indentation and line breaks, removed offending tabs, and general whitespace
usage.
#3 13908 C. Thomas Tyler Pushing SDP 2015.1.13906.
#2 12171 Russell C. Jackson (Rusty) Merge in changes to remove the need for p4master_run.
#1 10148 C. Thomas Tyler Promoted the Perforce Server Deployment Package to The Workshop.