MikroTik 虚拟机不能开机自动脚本

这篇文章详细描述了一个使用Bash脚本监控并自动修复或重启名为ROS的Linux虚拟机的过程,包括检查虚拟机状态、修复VMDK文件和执行电源重启操作。
摘要由CSDN通过智能技术生成
#!/bin/bash

#以下echo语句均可删除
#根据虚拟机开机名字寻找ID号,我的叫ROS
vmid=$(vim-cmd vmsvc/getallvms | grep ROS | awk '{print $1}')
#虚拟机路径495c150b-8e1f0886-595c-4062310adb5d/ROS
dir=/vmfs/volumes//vmfs/volumes/495c150b-8e1f0886-595c-4062310adb5d/ROS
#虚拟机开机时间,设1分钟最后修复等待(根据自己需要修改)
waiting=1m
#检查次数,这里因为是linux6.0版本ros7.13不能用for循环
i=1
while [ $i -le 5 ]
do
echo $i
# 这一步检查你当前的虚拟机状态并赋值ret,正常为0
vim-cmd vmsvc/power.getstate $vmid | grep 'Powered on'
ret=$?
if [ $ret == 0 ]
then
echo 'vm is running, do nothing ...'
exit 0
else
echo 'repairing ...'
# 如果当前虚拟机未开机,
vmdkFiles=$dir/chr-7.13.3.vmdk
vmkfstools -x repair $vmdkFiles
# starting ...
echo 'Repair end. Start power on ...'
#重启虚拟机电源
vim-cmd vmsvc/power.on $vmid
echo 'Done.'
fi
let i++
# 等待一段时间,让虚拟机启动
sleep $waiting
done

配置a.sh文件放入根目录中,进入虚拟机/etc/rc.local.d/local.sh文件中添加命令sh /.../../a.sh

循环还可以用:

for i in &(seq 5)
do
    echo $i
done

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值