#!/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 #------------------------------------------------------------------------------ # This script is designed to create a filter checkpoint for an Edge server # # Note: # This is not required unless you are filtering data via the server spec. If you are not # doing that, then you can reseed the edge using the latest checkpoint of the master. # # The script requires the SDP instance, the edge server ID and the checkpoint name as parameters to the script. # Run example: # ./edge_dump.sh 1 sfo_edge /depotdata/p4_1.edgeckp.9188.gz export SDP_INSTANCE=${SDP_INSTANCE:-Undefined} export SDP_INSTANCE=${1:-$SDP_INSTANCE} if [[ $SDP_INSTANCE == 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 $SDP_INSTANCE . /p4/common/bin/backup_functions.sh LOGFILE=$LOGS/edge_dump.log ######### Start of Script ########## check_vars set_vars if [[ "$3" == "" ]]; then echo You must pass in the edge server ID and the full path and filename of the checkpoint you want to create. exit 2 fi EDGEID=$2 EDGECKP=$3 # With -k we filter out the various Edge-specific tables which will be replaced with # current live versions. EXCLUDED_TABLES=db.have,db.working,db.resolve,db.locks,db.revsh,db.workingx,db.resolvex log "Create checkpoint from master offline_db skipping tables not used on the edge and using the edge server form for any filtered data." { time /p4/${SDP_INSTANCE}/bin/p4d_${SDP_INSTANCE} -r /p4/${SDP_INSTANCE}/offline_db/ -k $EXCLUDED_TABLES -P EDGEID -jd -z $EDGECKP; } >> $LOGFILE 2>&1 || { die "Edge reseed checkpoint dump failed!"; } log "Edge reseed checkpoint complete." # Inform the user about follow up tasks log "You now need to copy $EDGECKP to the edge server and use /p4/common/bin/recover_edge.sh to reseed the edge server." cat $LOGFILE
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#5 | 25830 | Russell C. Jackson (Rusty) | Added handling of new 2019.1 edge files. | ||
#4 | 22981 | Russell C. Jackson (Rusty) | Made files writeable so they are easier to update once on the server. | ||
#3 | 22753 | Russell C. Jackson (Rusty) | Copy over updated comment. | ||
#2 | 22751 | Russell C. Jackson (Rusty) | Updated edge_dump with fixes in my branch and updated run_if* scripts in perforce sdp in case review for common crontab is approved. | ||
#1 | 22693 | Russell C. Jackson (Rusty) |
Branched a Unix only version of the SDP. Removed extra items to create a cleaner tree. Moved a few items around to make more sense without Windows in the mix. |
||
//guest/perforce_software/sdp/dev/Server/Unix/p4/common/bin/edge_dump.sh | |||||
#3 | 22617 | Russell C. Jackson (Rusty) | Added +x | ||
#2 | 22615 | Russell C. Jackson (Rusty) |
Added suggested comments. By passing review since this is a comment only change. |
||
#1 | 22614 | Russell C. Jackson (Rusty) |
New script to create a filtered checkpoint to use to rebuild an edge server. This is not required unless you are filtering data via the server spec. If you are not doing that, then you can reseed the edge using the latest checkpoint of the master. |