ESXi主机定时开关机设置

news/2024/10/22 17:35:28/

ESXi的版本是6.7:)如果版本差异太大可能不适用。
1. 首先是如何定时关机的问题

首先是关机的问题服务器系统不存在计划性关机的功能,只能通过脚本实现。
在esxi中不支持cron命令,只能直接编辑cron文件,文件文件的路径是:
/var/spool/crontab/root
真接修改这个root文件意义并不大,因为一旦ESXi重启,这个文件会被重置。此时需要修改/etc/rc.local.d./local.sh,在exit 0这一行之前添加如下的脚本:

##以#开头的是注释行,可不添加
#get the cron service pid and kill it.
#杀掉已经存在的cron进程 
/bin/kill $(cat /var/run/crond.pid)

#add shutdown script to crontab(root)
#修改/var/spool/crontab/root文件,增加相应的执行配置
#待修改的内容包括:
# 45 17 * * * 执行的时间,与cron相同,注意是UTC时间需换算
#/vmfs/volumnes/datastore1/autoshutdown.sh执行脚本路径
#注意一定要保存到datastore1这样的重启不会丢失的位置
#/var/spool/cron/crontabs/root是root用户cron配置文件位置,一般不用修改
/bin/echo ’45 17 * * * /vmfs/volumes/datastore1/autoshutdown.sh’ >> /var/spool/cron/crontabs/root

#restart cron service
#重启cron进程(将加载修改后的root文件)
/usr/lib/vmware/busybox/bin/busybox crond

注意注意注意
修改完/etc/rc.local.d./local.sh文件后,工作没有结束,需要执行一次/sbin/auto-backup.sh,将修改后的local.sh文件保存,否则结果将和之前的root文件一样,重启后丢失。

2. 接下来是关机脚本的内容

#!/bin/sh

#shutdown all VMs(2,3,9 is VMID,add your VMIDs here)
vim-cmd vmsvc/power.off 2
vim-cmd vmsvc/power.off 3
vim-cmd vmsvc/power.off 9

#Poweroff Host
/sbin/poweroff

脚本中的vim-cmd vmsvc/power.off 2是关机命令,将对指定的虚拟机(VMID)发送关机命令,在宿主机关机前关闭所有虚拟机,这一操作是否有必要我不确定。我的ESXi上运行了NAS,为保护数据加这一段。
最后是关机命令。

后面查了一下,其实是有点画蛇添足了,因为poweroff就相当于直接拔插头……应该用power.shutdown,但是这个命令是异步的,后面直接跟/sbin/poweroff的话,效果未知:)

后面干脆改了,因为只有NAS是一直开机,其它虚拟机可能是不开机的,所以在NAS中自己定义的了一个计划性关机,这一部分相当于无效,可以只保留/sbin/poweroff。

附几个相关命令:
vim-cmd vmsvc/getallvms 查询所有已配置的虚拟机,可获得VMID
vim-cmd vmsvc/power.getstate VMID 通过VMID查询相应的虚拟机的当前状态(开关机)
vim-cmd vmsvc/power.shutdown VMID发送关机信号(命令),但操作系统未必会真正关机。
vim-cmd vmsvc/power.off VMID 直接关机(相当于关电源)

3. 开机:)
通过ESXi是不能实现开机,可以借助如下方案:
BIOS如果支持定时开机,可以使用,就是需要修改配置时很麻烦。
BIOS中可设置断电后再恢复时自动开机,配合智能插座的定时通断电功能,实现定时开机。
注意:这个功能可能对某些主板是无效的!我目前使用的这个主板的设置就是:只有当意外断电(非正常关机)后断电再通电时自动启动,如果是正常关机后哪怕再断电通电也不会开机。
BIOS中可设置WOL唤醒,通过路由器等执行WOL唤醒脚本:)

(以上转自https://brallow.com/?p=631)

ESXI主机定时重启脚本

通过shell登陆ESXI主机,编辑脚本.完成定时重启物理主机.

1.开启主机的ssh功能。

2.编辑脚本如下.可以使用vi编辑.

#不需要的参数在前面加# 注释掉
#!/bin/sh
#设置天
sleep  3d       
#设置小时       
sleep  5h
#设置分钟
sleep 15m
#设置秒
sleep 23s
#关闭虚拟机
/bin/shutdown.sh
#执行重启
reboot

3.使用命令chmod +x给脚本一个执行权限

(转自https://blog.51cto.com/xzty1/1558285)

ESXI中除了数据存储目录,其它目录创建的文件,重启后自动丢失,因此最好把脚本放存储目录下:/vmfs/volumes/{安装ESXI时所取的存储器名字}

综合上面的内容,esxi定时重启可以实现,具体方法,使用时需灵活变化


http://www.ppmy.cn/news/353842.html

相关文章

android 增加定时开关机

定时关机 增加一个系统服务,定时关机相关接口 private void setPowerOff(Intent intent) {boolean enable intent.getBooleanExtra(VAL_POWEROFF,false);Intent inten;if(enable) {inten new Intent(Intent.ACTION_REQUEST_SHUTDOWN);inten.putExtra(Intent.EXTR…

Win10系统定时开关机

系统检查 1.1 打开控制面板->搜索 电源,点击更改电源按钮功能; 1.2 点击更改当前不可用设置,取消勾选启用快速启动选项; 1.3 勾选允许预定维护在预定时间唤醒我的计算机。 2 设置定时关机 2.1 重启计算机,连续点…

windows定时开关机方法

一、定时开机: 电脑关机重启:按住Esc F12 键,进入BIO页面,选择OEM,点击第二个RTC Wake Settings , 状态改为Enabled,然后设定开机时间。 3. 按键盘上的F10键保存并退出BIOS,设置完成。 二.定时关机 1.先点“…

Win10如何设置定时开关机休眠唤醒

http://www.yunnanlong.com/c/120624335142022.html 现在大部分人都在使用Win10系统,因为这个是最新的系统,而且功能多 。我们在没有硬件支持的情况下,可以利用Wndows系统自带的任务计划程序和休眠功能,实现计算的定时开关机&…

安卓定时开关机的实现

关于安卓定时开关机,在网上很难找到真正的答案,在这里我引用了其他论坛的解决办法,自己也补充了些。望各位有需要的小伙伴们借鉴。 相对于自动开机来说,自动关机可以在应用层通过设置alarm来实现。而自动开机,网上的介…

计算机定时开机命令,定时开关机

自动定时开机的实现\主板必须有相应的支持才行,绝大多数都支持自动开机,我们只要在BIOS中进行相应设置即可。按“Delete”键进入BIOS界面。在BIOS设置主界面中选择“Power Management Setup”菜单,进入电源管理窗口。默认情况下,“Automatic Power Up(定时开机,有些机器选…

安卓系统定时开关机

直接上代码 Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//关机时间int[] timeoff{2019,7,9,15,40};//开机时间int[] timeon{2019,7,9,15,44};Intent intentnew Intent();intent.putExtra("timeoff", timeoff…

Android系统定时开关机

1、系统定时开关机需要系统权限,所以需要apk做系统签名。 2、在AndroidManifest.xml文件的头部的 标记中添加系统权限。 android:sharedUserId“android.uid.system” 注意:设置定时开机后,如果改设置没有到时间,无法更改定时开…