#!/bin/bash

# This script is for performing weekly maintenance from a Linux client.
export P4INSTANCE=${P4INSTANCE:-Undefined}
export P4INSTANCE=${1:-$P4INSTANCE}
if [[ $P4INSTANCE == Undefined ]]; then
   echo "Instance parameter not supplied."
   echo "You must supply the Perforce instance as a parameter to this script."
   exit 1
fi

. /p4/common/bin/p4_vars $P4INSTANCE

/p4/common/bin/p4login > /dev/null 2>&1

export LOG=/p4/sdp/Maintenance/${HOSTNAME}_${P4SERVER}_log.txt
export P4CLIENT=${HOSTNAME}_unload

echo The time is: `date` >> $LOG
cd "/p4/sdp/Maintenance" >> $LOG

echo . > $LOG
echo ======================================= >> $LOG
echo Running rm -r -f /p4/1/root/server.locks >> $LOG
echo The time is: `date` >> $LOG
echo . >> $LOG

rm -r -f /p4/${P4INSTANCE}/root/server.locks >> $LOG 2>&1

echo ======================================= >> $LOG
echo Running unload_clients.py >> $LOG
echo The time is: `date` >> $LOG
unload_clients.py >> $LOG 2>&1

echo ======================================= >> $LOG
echo Removing old unloaded clients >> $LOG
echo The time is: `date` >> $LOG
delete_unload_clients.py $P4INSTANCE >> $LOG 2>&1

echo ======================================= >> $LOG
echo Removing empty pending changes. >> $LOG
echo The time is: `date` >> $LOG

remove_empty_pending_changes.py $P4INSTANCE > /dev/null 2>&1

echo The time is: `date` >> $LOG

echo ======================================= >> $LOG

mail -s "${HOSTNAME} ${P4SERVER} Weekly edge maintenance log" $MAILTO < $LOG