需求:我们在学习hadoop时要用到多台虚拟机,我目前的学习地点不固定宿舍、图书馆等,所以要经常进行虚拟机的关闭,避免电脑断电造成不必要的错误
我之前的脚本都保存在 /home/opt/module/hadoop/bin/ #目录下,例如:hadoop群起脚本myhadoop.sh、xsync等脚本,这个目录设置了环境变量,因此我可以直接在这个目录下继续书写脚本
1、这个脚本命名为close.sh,代码如下
#!/bin/bash
if [ $# -lt 1 ]
then
echo "No Args Input..."
exit ;
fi
case $1 in
"shutdown")
echo "===========shutdown now============"
ssh -t hadoop103 "echo \"1234\" | sudo -S shutdown -h now"
ssh -t hadoop104 "echo \"1234\" | sudo -S shutdown -h now"
ssh -t hadoop102 "echo \"1234\" | sudo -S shutdown -h now"
;;
"reboot")
echo "=========reboot============="
ssh -t hadoop103 "echo \"1234\" | sudo -S reboot"
ssh -t hadoop104 "echo \"1234\" | sudo -S reboot"
ssh -t hadoop102 "echo \"1234\" | sudo -S reboot"
;;
*)
echo "Input args Error!!"
;;
esac
2、添加可执行权限 chmod +x close.sh
3、测试脚本
hadoop@hadoop102:~$ close.sh shutdown #关机
hadoop@hadoop102:~$ close.sh reboot #重启
4.测试成功