#!/bin/bash # IBM(c) 2009 EPL license http://www.eclipse.org/legal/epl-v10.html ##################################################### # # Initiate the xdcp from Mangement node to sync # files to this node # ##################################################### if [ -n "$LOGLABEL" ]; then log_label=$LOGLABEL else log_label="xcat" fi bname=$(basename $0) #statelite does not support syncfiles if [ -d /.statelite ]; then echo "Statelite does not support syncfiles, nothing to do..." logger -t $log_label -p local4.info "Statelite does not support syncfiles, nothing to do..." exit 0 fi # do nothing when UPDATENODE=1 because it is done from the top down if [ -n "$UPDATENODE" ] && [ $UPDATENODE -eq 1 ]; then #echo " Did not sync any files. Use updatenode -F to sync the files." logger -t $log_label -p local4.warning "$bname: Did not sync any files. Use updatenode -F to sync the files." exit 0 fi #do nothing id there is no sync file template for the node if [ -n "$NOSYNCFILES" ] && [ $NOSYNCFILES -eq 1 ]; then echo " Did not sync any files." logger -t $log_label -p local4.info "$bname: there is no sync file template for the node" exit 0 fi RCP= if [ ! -e "/usr/bin/rsync" ]; then [ -e "/usr/bin/scp" ] && RCP="/usr/bin/scp" fi logger -t $log_label -p local4.info "Performing syncfiles postscript" osname=`uname` # run the xdcp on the MN/SN xcatpostdir="/xcatpost" logger -t $log_label -p local4.info "$bname: the OS name = $osname" quit="no" count=5 returncode=0 while [ $quit = "no" ]; do if cat /etc/os-release |grep -i cumulus >/dev/null 2>&1; then RCP=$RCP $xcatpostdir/startsyncfiles returncode=$? elif [ $osname = "Linux" ] then `$xcatpostdir/startsyncfiles.awk -v RCP=$RCP` returncode=$? elif [ $osname = "AIX" ] then `$xcatpostdir/startsyncfiles.aix` returncode=$? fi if [ $returncode -eq 0 ] || [ $count -eq 0 ]; then quit="yes" else let SLI=$RANDOM%10 let SLI=SLI+10 sleep $SLI fi let count=count-1 done if [ $returncode -eq 0 ] then logger -t $log_label -p local4.info "$bname: Perform Syncing File action successfully" else logger -t $log_label -p local4.err "$bname: Perform Syncing File action encountered error" fi [ $returncode -eq 0 ]