#!/bin/bash
set -u
#------------------------------------------------------------------------------
# Version ID Block. Relies on +k filetype modifier.
# VersionID='$Id: //p4-sdp/dev_c2s/test/bsw/push_bins.sh#2 $ $Change: 31472 $'
declare -i ErrorCount=0
declare -i Debug=0
declare -i HostCount=0
declare Timeout=5s
declare Host=
declare -i HostFailCount=0
declare -a HostFailList
declare RsyncCmd=
function msg () { echo -e "$*"; }
function dbg () { [[ "$Debug" -eq 0 ]] || msg "DEBUG: $*"; }
function errmsg () { msg "\\nError: ${1:-Unknown Error}\\n"; ErrorCount+=1; }
function bail () { errmsg "${1:-Unkown Error}"; exit "${2:-1}"; }
for Host in helix-0{2..5}; do
echo Host=$Host
for Dir in /p4/sdp/helix_binaries; do
RsyncCmd="rsync -e \"ssh -q\" -av \"$Dir/\" \"$Host:$Dir\""
msg "Running: $RsyncCmd"
if ! eval timeout $Timeout $RsyncCmd; then
errmsg "Could not do: $RsyncCmd"
HostFailList[HostFailCount]="$Host"
HostFailCount+=1
fi
done
HostCount+=1
done
if [[ "$ErrorCount" -eq 0 ]]; then
msg "\\nSuccess: Push Bins completed OK to $HostCount hosts."
else
msg "\\nPush Bins attempted to $HostCount hosts; $ErrorCount errors encountered for these hosts: ${HostFailList[@]}."
fi
| # | Change | User | Description | Committed | |
|---|---|---|---|---|---|
| #2 | 31472 | C. Thomas Tyler |
Updated bash scripts and bash template to new file versioning scheme. Modernized template bash script. |
||
| #1 | 31399 | C. Thomas Tyler | Populate -r -S //p4-sdp/dev_c2s. | ||
| //p4-sdp/dev/test/bsw/push_bins.sh | |||||
| #1 | 31397 | C. Thomas Tyler | Populate -b SDP_Classic_to_Streams -s //guest/perforce_software/sdp/...@31368. | ||
| //guest/perforce_software/sdp/dev/test/bsw/push_bins.sh | |||||
| #3 | 30641 | C. Thomas Tyler | Fixed issue reporting list of missed pushes. | ||
| #2 | 30633 | C. Thomas Tyler | Improved error messages. | ||
| #1 | 30624 | C. Thomas Tyler | Added scripts to support testing in BSW Lab Environment. | ||