backup_perforce.sh

 

### backup_perforce.sh
###
### This script backs up Perforce checkpoint and journal files
###
### Usage: backup_perforce.sh 
###
###

date
umask 000


echo "Setting Perforce Environment"
P4PORT=www.setgetweb.com:1666
P4ROOT=/usr/p4
P4CLIENT=www.setgetweb.com.backup
P4USER=map
P4PASSWD=
P4JOURNAL=/usr/p4/journal
export P4PORT P4ROOT P4JOURNAL P4USER P4PASSWD



echo "Creating a checkpoint"

echo "/usr/local/bin/p4d -r $P4ROOT -jc -J $P4JOURNAL"
/usr/local/bin/p4d -r $P4ROOT -jc -J $P4JOURNAL  



echo "Verifying checksums"

echo "/usr/local/bin/p4 verify -q //..."   
/usr/local/bin/p4 verify -q //...   



echo "Creating and storing new checksums "

echo "/usr/local/bin/p4 verify -qu //... "
/usr/local/bin/p4 verify -qu //... 



echo "Copying depot and analysis files to /usr/backup"

tar cf /usr/backup/p4/p4_depot.tar /usr/p4/depot/*
tar cf /usr/backup/p4/p4_analysis.tar /usr/p4/analysis/*
gzip -f /usr/backup/p4/p4_depot.tar 
gzip -f /usr/backup/p4/p4_analysis.tar 



echo "Sending to depot/analysis archives to tyr:/usr/p4"

scp /usr/backup/p4/p4_depot.tar.gz tyr:/usr/p4
scp /usr/backup/p4/p4_analysis.tar.gz tyr:/usr/p4


echo "Sending checkpoint/journal files to tyr:/usr/p4"
cpfile=`ls -1t /usr/p4 | grep checkpoint | head -n1` 
jfile=`ls -1t /usr/p4 | grep journal | head -n1` 
cp /usr/p4/$cpfile /usr/backup/p4
cp /usr/p4/$jfile /usr/backup/p4
gzip -f /usr/backup/p4/$cpfile
/usr/local/bin/scp /usr/backup/p4/${cpfile}.gz tyr:/usr/p4
/usr/local/bin/scp /usr/backup/p4/${jfile} tyr:/usr/p4

echo " " 
echo "Space Available in P4ROOT"
df -k /usr/p4

echo " "
date