📜  linux 自动关机 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:02:44.828000             🧑  作者: Mango

Linux 自动关机 - Shell-Bash

在Linux系统中,有时需要定时自动关机,比如在服务器空闲时自动关闭,以节省能源和保护硬件。此时可以使用Shell脚本编写自动关机脚本,让Linux系统自动关机。下面我们来介绍如何使用Shell-Bash实现Linux自动关机。

编写脚本

编写自动关机脚本很简单,只需要先打开一个终端,然后输入以下命令:

sudo nano /etc/rc.local

在打开的文件中添加以下代码:

# 定时关机
shutdown -h +60

这个脚本在60分钟后自动关机,你可以根据需要修改数字以设置不同的关机时间。完成后按Ctrl + X,然后按Y保存并退出。

注意,如果你想要在GUI(图形界面)下自动关机,则需要使用类似下面的命令,其中60是关机时间(分钟):

gnome-schedule -s -m "Shutdown" -p -u root -d /sbin/shutdown -h +60

如果你使用的是其他桌面环境,则需要相应地修改命令。

自动执行脚本

默认情况下,rc.local是在系统启动时自动执行的,因此无需进一步配置即可实现自动关机。如果你不确定是否已启用rc.local,请运行以下命令:

sudo systemctl status rc.local

如果返回结果中包含“loaded active (running)”字样,则rc.local已经启用,系统在启动时将自动执行此脚本。如果没有找到此文件或它未启用,请按照以下步骤启用它:

运行以下命令:

sudo nano /etc/systemd/system/rc-local.service

在打开的文件中添加以下内容:

[Unit]
Description=/etc/rc.local Compatibility

[Service]
ExecStart=/etc/rc.local start
Type=forking

[Install]
WantedBy=multi-user.target

按Ctrl + X保存并退出。接下来执行以下命令:

sudo chmod +x /etc/rc.local
sudo systemctl enable rc-local
sudo systemctl start rc-local.service

此时,rc.local已启用并在系统启动时自动执行。

总结

以上就是使用Shell-Bash编写Linux自动关机脚本的全部内容。通过编写脚本并自动执行,我们可以实现Linux系统在指定时间自动关机,从而达到节省能源和保护硬件的目的。