#!/bin/bash # This is an example maintenance script to run the recommended maintenance scripts on a weekly basis. # You need to make sure you update the hard coded locations to match yours if you are not using the # default locations. 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 export PATH=$PATH:/p4/sdp/Maintenance:./ source /p4/common/bin/p4_vars $P4INSTANCE /p4/common/bin/p4login > /dev/null 2>&1 export LOG=/p4/depot/Perforce/maintenance_scripts/${HOSTNAME}_${P4SERVER}_log.txt export P4CLIENT=${HOSTNAME}_unload cd "/p4/sdp/Maintenance" >> $LOG echo . > $LOG echo ======================================= >> $LOG echo Running unload_labels.py >> $LOG echo The time is: `date` >> $LOG unload_labels.py >> $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 Running delusers.py >> $LOG echo The time is: `date` >> $LOG delusers.py >> $LOG 2>&1 echo ======================================= >> $LOG echo Running email_pending_client_deletes.py >> $LOG echo The time is: `date` >> $LOG email_pending_client_deletes.py 1 >> $LOG 2>&1 echo ======================================= >> $LOG echo Running email_pending_user_deletes.py >> $LOG echo The time is: `date` >> $LOG email_pending_user_deletes.py 1 >> $LOG 2>&1 echo ======================================= >> $LOG echo Removing empty pending changes. >> $LOG echo The time is: `date` >> $LOG remove_empty_pending_changes.py >> $LOG 2>&1 echo The time is: `date` >> $LOG mail -s "Weekly maintenance log" $MAILTO < $LOG