项目场景:
解决了每次虚拟机关机或重启都需要手动一个个关机或重启的烦恼!
问题描述:
每天的学习工作结束,当需要关闭虚拟机时,VMware的一键关机或者重启无法起作用,于是写了个小脚本实现改功能
解决方案(脚本代码):
使用说明:总共有两个脚本文件shut.sh,down.sh,使用时./shut.sh 1
:关机,./shut.sh 2
:重启
文件1:shut.sh:
唯一注意事项:ES_HNS=这里放入除本机的所有需要操作的虚拟机hostname,本机hostname不许放入!
#!/bin/bash
echo "传参:1关机,2重启"
#ES_HNS=这里放入除了本机的所有需要操作的hostname或ip,本机hostname不许放入!
ES_HNS='xxx xxxx xxx'
THIS_HN=@HOSTNAME
CMD=$1
if [ $# -ne 1 ]
then
echo "Usage:"
echo "$0,please input:1 or 2"
exit 1
fi
for HN in $ES_HNS
do
./down.sh $HN $CMD
if [ 0 != $? ]
then
echo $HN成功操作
else
echo $HM失败操作
fi
done
wait
echo 操作集群完毕!
if [ 1 -eq $CMD ]
then
shutdown -h now
elif [ 2 -eq $CMD ]
then
reboot
fi
文件二:down.sh
#!/bin/bash
CMD='ssh root@'$1
if [ 1 -eq $2 ]
then
$CMD > /dev/null 2>&1 << eeooff
shutdown -h now
exit
eeooff
elif [ 2 -eq $2 ]
then
$CMD > /dev/null 2>&1 << eeooff
reboot
exit
eeooff
fi
注:此脚本前提是**虚拟机**之间打通免密!
若没有打通,看这篇博文可解决:免密推送
~END