manage_server: Add new command to view log remotely
This commit is contained in:
parent
d7686f68c0
commit
ba75c5c8fd
2 changed files with 145 additions and 32 deletions
|
@ -5,53 +5,99 @@ cd $(dirname "$0")
|
|||
WKS_LIST="apl"
|
||||
SRV_LIST="moore noyce hamano cpp"
|
||||
|
||||
ACTIONS="start stop restart update"
|
||||
KNOWN_ACTIONS="start stop restart update log viewlog view_log"
|
||||
|
||||
LOG=`mktemp`
|
||||
|
||||
for ACT in $ACTIONS
|
||||
ACTIONS=
|
||||
DESTS=
|
||||
USED=1
|
||||
while [ $# -gt 0 ] && [ $USED -eq 1 ]
|
||||
do
|
||||
if [ -n "$1" ] && [ "$1" == "$ACT" ]
|
||||
|
||||
USED=0
|
||||
|
||||
for ACT in $KNOWN_ACTIONS
|
||||
do
|
||||
if [ -n "$1" ] && [ "$1" == "$ACT" ]
|
||||
then
|
||||
ACTIONS="$ACTIONS $ACT"
|
||||
USED=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
for DEST in $WKS_LIST $SRV_LIST
|
||||
do
|
||||
if [ -n "$1" ] && [ "$1" == "$DEST" ]
|
||||
then
|
||||
DESTS="$DESTS $DEST"
|
||||
USED=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$1" == "@srv" ]
|
||||
then
|
||||
ACTION="$ACT"
|
||||
break
|
||||
DESTS="$DESTS $SRV_LIST"
|
||||
USED=1
|
||||
elif [ "$1" == "@wks" ]
|
||||
then
|
||||
DESTS="$DESTS $WKS_LIST"
|
||||
USED=1
|
||||
fi
|
||||
|
||||
if [ $USED -eq 1 ]
|
||||
then
|
||||
shift
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
if [ -z "$ACTION" ]
|
||||
|
||||
if [ -z "$ACTIONS" ]
|
||||
then
|
||||
echo "Usage: $0 [$ACTIONS]"
|
||||
echo "Usage: $0 [where] <`echo $KNOWN_ACTIONS | sed 's/ /|/g'`> [options]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
FAIL=0
|
||||
for SRV in $SRV_LIST
|
||||
do
|
||||
echo -e "\e[1;34m>>>\e[0m $ACTION on $SRV"
|
||||
if [ "$ACTION" == "update" ]
|
||||
then
|
||||
ssh root@$SRV "make -C liblerdorf update upgrade"
|
||||
else
|
||||
ssh root@$SRV '~'/liblerdorf/process/launch.sh "$ACTION"
|
||||
fi
|
||||
if [ -z "$DESTS" ]
|
||||
then
|
||||
DESTS="$SRV_LIST $WKS_LIST"
|
||||
fi
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
echo -e "\e[1;32m>>>\e[0m $ACTION success on $SRV" | tee -a "$LOG"
|
||||
else
|
||||
echo -e "\e[1;31m>>>\e[0m $ACTION fails on $SRV" | tee -a "$LOG"
|
||||
FAIL=1
|
||||
fi
|
||||
echo
|
||||
OPTIONS=
|
||||
while [ $# -gt 0 ]
|
||||
do
|
||||
OPTIONS="$OPTIONS $1"
|
||||
shift
|
||||
done
|
||||
|
||||
for WKS in $WKS_LIST
|
||||
FAIL=0
|
||||
for ACTION in $ACTIONS
|
||||
do
|
||||
echo -e "\e[1;34m>>>\e[0m $ACTION on $WKS"
|
||||
if [ "$ACTION" == "update" ]
|
||||
then
|
||||
ssh root@$SRV "make -C liblerdorf update upgrade"
|
||||
fi
|
||||
echo
|
||||
for DEST in $DESTS
|
||||
do
|
||||
echo -e "\e[1;34m>>>\e[0m \e[33m$ACTION\e[0m on \e[1m$DEST\e[0m"
|
||||
if [ "$ACTION" == "update" ]
|
||||
then
|
||||
ssh root@$DEST "make -C liblerdorf update upgrade"
|
||||
elif [ "$ACTION" == "log" ] || [ "$ACTION" == "viewlog" ] || [ "$ACTION" == "view_log" ]
|
||||
then
|
||||
ssh root@$DEST '~'/liblerdorf/process/view_log.sh $OPTIONS
|
||||
else
|
||||
ssh root@$DEST '~'/liblerdorf/process/launch.sh "$ACTION"
|
||||
fi
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
echo -e "\e[1;32m>>>\e[0m \e[33m$ACTION\e[0m success on \e[1m$DEST\e[0m" | tee -a "$LOG"
|
||||
else
|
||||
echo -e "\e[1;31m>>>\e[0m \e[33m$ACTION\e[0m fails on \e[1m$DEST\e[0m" | tee -a "$LOG"
|
||||
FAIL=1
|
||||
fi
|
||||
echo
|
||||
done
|
||||
done
|
||||
|
||||
cat "$LOG"
|
||||
|
|
Reference in a new issue