背景
最近一段时间一直使用ubuntu20作为日常的开发环境,因为运行着各种虚拟机和容器环境且有回家操作电脑的需要,故而几天未关机; 后来想通过启动脚本初始化虚拟机和开发环境,再加上在家操作电脑的需求并不是很高,故而想关机; 本来有一个每天下午6点半自动提交代码的cron任务,就像在里面添加一个poweroff,让他提交完代码后再关机就好,刚改好脚本的当天下班走的晚了一点,在6点半的时候看电脑未关机,就直接在终端输入了poweroff;然后第二天早上到公司每次开机都无法正常启动了,一看到ubuntu的logo,几秒就断电关机;
排查问题
定时任务的提交代码脚本在关机时也同时会触发,关机脚本执行逻辑定义在systemd的service,而脚本的执行逻辑存在问题,导致每次一开机就触发;
解决方法
在启动时进入recover模式,注释脚本中的关机命令
在revocer的命令行下init 5 发现可以进入图形化界面
在图形化窗口的终端输入reboot命令,走一遍正常关机重启流程,顺利重新进入系统
讨论