如何在Linux中设置关机后的自动重启?shutdown命令与重启参数的使用方法

说实话,Linux里要设置关机后自动重启,主要靠shutdown -r命令。
这个命令挺灵活的,可以定时间,还能发通知。

一、shutdown -r怎么用
shutdown -r now shutdown -r 0
这两种写法一样,系统马上就重启。
带个-r表示是重启,不是直接关机。

shutdown -r +5 "系统5 分钟后重启,赶紧保存工作!" shutdown -r +5 "5 分钟后重启,记得存数据。
"
这种带+数字的,是算从现在开始过多少分钟重启。
引号里的话会发给所有正在用电脑的人,让他们知道。

shutdown -r 2 2 :00 "今晚1 0点计划维护,系统要重启了。
" shutdown -r 2 2 :00 "1 0点系统要重启,大家注意下。
"
这种可以定具体时间,比如晚上1 0点。
引号里的通知也照用。

要是临时变卦了,不想重启了 shutdown -c
这个-c是取消命令,不管之前设了多久,立马取消重启,还会告诉所有人取消了。

二、别的重启命令有啥不一样
reboot命令 sudo reboot
这个直接重启,没啥通知,适合自己用电脑的时候。
比如你改了点设置,想立刻看到效果。

systemctl reboot命令 sudo systemctl reboot
现在Linux系统多是用systemd的,这个命令跟shutdown -r now差不多,但跟systemd配合得更好。
重启前会先把所有服务都停了。

init 6 命令 sudo init 6
这个是老古董了,早年的系统用的。
现在systemd系统里,init 6 跟systemctl reboot效果差不多。
基本不用了。

区别总结下: shutdown -r:适合定计划,能倒计时、发通知、还能取消,让系统和程序有时间收拾东西。
reboot/systemctl reboot:适合马上重启,不用管通知,systemctl reboot现在更推荐。
init 6 :老方法了,现在跟systemctl reboot一个效果。

三、服务器上计划重启要注意啥
服务器重启不能瞎来,不然业务直接中断了。

提前通知很重要 echo "系统1 5 分钟后重启" | sudo wall
用这个wall命令,所有人屏幕上都会弹出通知。
或者发邮件、发即时消息,总之让人知道。

数据一定要保存好 确保数据库提交了事务,文件存好了,配置也改到硬盘上了。
要是需要,可以手动让程序保存,比如MySQL的FLUSH TABLES WITH READ LOCK;但用完要解锁,这个得小心。

看看关键服务状态 重启前确认数据库、网站、消息队列这些服务跑得正常。
知道它们啥时候启动,依赖啥。
重启后要赶紧检查。

搞点自动化脚本 重启前跑个脚本,把服务停优雅点,备份重要数据,或者告诉监控系统要维护了。
重启后也跑个脚本,看看服务起来没,没问题再告诉监控系统恢复了。

选对时间 尽量挑半夜或者周末重启。
这时候用的人少,影响小。
得跟业务部门商量好。

重启后看日志 系统日志里(/var/log/syslog或者用journalctl),还有各种服务的日志,都要看看。
有时候服务看着起来了,里面其实有毛病,日志能发现。

别在忙的时候搞 高峰期绝对不能重启。
以前有次在高峰期重启了个小服务,结果主服务也受影响,差点完蛋。
这教训得记牢。

说实话,计划重启不光是敲几行命令,得像管项目一样,规划好、沟通好、执行好。

如何在Linux中重启崩溃服务 Linux systemd自动恢复

直接说重点:systemd自动重启服务需要改配置,还得加监控和资源控制。

重启配置就三件事: 1 . /etc/systemd/system/myapp.service文件改[Service]部分 2 . Restart=on-failure加进去 3 . RestartSec=5 s等出问题后5 秒重启
资源保护不能省: 1 . StartLimitInterval=6 0s限制重启时间窗口 2 . StartLimitBurst=5 最多重启5 次 3 . LimitCPU=1 和LimitMemory=5 1 2 M控制资源
监控工具随便选:
journalctl-f看实时日志
Prometheus+node_exporter抓指标
ELKStack集中看日志
看门狗机制要配对:
[Service]里加WatchdogSec=3 0s
服务端得用sd_notify发心跳
最后得改代码:
GDB分析coredump
Valgrind查内存问题
处理所有未捕获的信号
你把服务文件这么写:
[Unit] Description=MyApplicationService StartLimitInterval=6 0s StartLimitBurst=5
[Service] Type=simple ExecStart=/usr/bin/myapp Restart=on-failure RestartSec=5 s WatchdogSec=3 0s LimitMemory=5 1 2 M
然后sudo systemctl daemon-reload重启下就行。

怎么验证?sudo journalctl -u myapp.service -f看日志。

电脑安装linux系统自动断电(启动linux电脑总是自动重启)

哎,这事儿啊,真是头疼。
我跟你讲讲我碰到的。
那是前年,在老家,帮邻居装了个Linux系统,结果装完好几次一开机就自动重启,或者直接断电,搞得他电脑都冒烟了。

首先啊,你得试试用Linux安装盘启动,然后进修复模式。
你敲“Linux rescue”这个选项,具体叫啥得看你用的什么系统。
进了之后,你得用个命令,叫fdisk -l,看看你的根分区是哪个,比如/dev/sda5 记住了,别搞错了。

然后,在修复模式下,系统会提示你修复GRUB引导。
你就按照提示操作,一般是要挂载根分区,然后重新安装或者更新GRUB。
我当时就是这步解决了问题,那哥们儿重启了几次,最后就好了。

不过啊,这事儿有时候不只是GRUB的问题。
你还得检查电源,是不是电源不稳定。
我记得那哥们儿的电源有点老,电压波动大,一用高负载就跳闸。
你看看电源线是不是插牢固,电压稳不稳定。
还有啊,硬件兼容性也得看看,特别是网卡,有时候Linux不认Windows的网卡,也会导致重启。
我当时就碰到过一个,Windows装得挺好,一装Linux就找不到网卡了。

还有啊,如果你是装了多个系统,Windows和Linux,那安装顺序也很重要。
我一般建议先装Windows,再装Linux。
你先装Windows,把引导分区分好,然后再装Linux,让它用Windows的引导分区。
这样可以避免引导分区搞坏。
如果Linux装完还是不行,你就得用U盘或者光盘启动,进rescue模式,对磁盘做个检查。

进了rescue模式后,你还可以用fsck命令检查一下文件系统,特别是根分区。
有时候文件系统损坏也会导致重启。
你用fsck /dev/sda5 (假设你的根分区是/dev/sda5 )试试看。
修复完之后,再重启一下,看看是不是就好了。

还有啊,如果你在使用无线网络的时候遇到问题,试试禁用本地网卡,有时候无线和有线会冲突。
系统更新和驱动也要保持最新,有时候旧版本的驱动或者系统漏洞也会导致重启。
网络设置也得检查一下,IP地址、DNS什么的,有时候设置不对也会出问题。

如果这些你都试过了,还是不行,那可能就是硬件问题了,比如CPU过热、内存条接触不良什么的。
我当时就碰到过一个,是内存条松了,一运行大程序就重启。
那你就得一个个排查了。

总之啊,这事儿得一步步来,别急。
先从最简单的开始,GRUB修复、电源检查、硬件兼容性,一步步试。
如果还是不行,再考虑更深层次的问题。
我当时就是花了两天时间,才把那哥们儿的问题解决。
希望这些对你有帮助!

linux系统这段时间每隔1,2小时重启,不知什么原因

上周,我那个朋友的服务器突然不明原因重启了。
他先查了系统日志和APACHE日志,想找出原因。
他觉得可能是硬件问题,比如电源或CPU风扇出了问题。
他通过dmesg看了系统的log,通常这些信息都记录在/var/log/messages里。
至于APACHE日志,他得看看是怎么手工启动的,才能判断为什么不能随开机自动启动。
我觉得他得从log、硬件、环境和温度这些方面仔细查看,应该会有事件记录吧。
算了,你看着办。