#!/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/sdp/Maintenance/${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 $P4INSTANCE >> $LOG 2>&1 echo ======================================= >> $LOG echo Running unload_clients.py >> $LOG echo The time is: `date` >> $LOG unload_clients.py $P4INSTANCE >> $LOG 2>&1 ### Disabled because Perforce doesn't update access times on the commit server!!! ### # echo ======================================= >> $LOG # echo Running delusers.py >> $LOG # echo The time is: `date` >> $LOG # delusers.py $P4INSTANCE >> $LOG 2>&1 echo ======================================= >> $LOG echo Running email_pending_client_deletes.py >> $LOG echo The time is: `date` >> $LOG email_pending_client_deletes.py $P4INSTANCE >> $LOG 2>&1 # echo ======================================= >> $LOG # echo Running email_pending_user_deletes.py >> $LOG # echo The time is: `date` >> $LOG # email_pending_user_deletes.py $P4INSTANCE >> $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 mail -s "Weekly maintenance log $(hostname) ${P4INSTANCE}" $MAILTO < $LOG