Rumah  >  Artikel  >  Tutorial sistem  >  Bagaimana untuk menutup dan boot sistem linux secara automatik

Bagaimana untuk menutup dan boot sistem linux secara automatik

WBOY
WBOYke hadapan
2024-03-01 08:00:24755semak imbas

Jangan jadi pembazir tenaga. Jika komputer anda tidak perlu dihidupkan, matikannya. Untuk kemudahan dan untuk ahli komputer, anda boleh mengkonfigurasi komputer Linux anda untuk bangun dan ditutup secara automatik.

masa operasi sistem yang berharga

Kadang-kadang sesetengah komputer perlu dihidupkan sepanjang masa Keadaan ini dibenarkan selagi masa komputer berjalan tidak melebihi. Sesetengah orang berbangga kerana memastikan komputer mereka beroperasi dan berjalan untuk jangka masa yang lama, dan kini kami mempunyai pembaikan panas kernel yang hanya memerlukan penutupan mesin jika kegagalan perkakasan berlaku. Perkara yang saya fikir lebih praktikal ialah menjimatkan kuasa seperti mengurangkan haus dan lusuh pada bahagian yang bergerak dan mematikan mesin apabila ia tidak diperlukan. Sebagai contoh, anda boleh membangunkan pelayan sandaran pada masa yang ditentukan, melaksanakan sandaran, dan kemudian menutupnya sehingga ia bersedia untuk sandaran seterusnya. Sebagai alternatif, anda boleh menyediakan gerbang Internet anda untuk hanya berjalan pada masa tertentu. Apa-apa sahaja yang tidak perlu dijalankan sepanjang masa boleh dikonfigurasikan untuk dihidupkan apabila ia perlu berfungsi dan dimatikan apabila ia menyelesaikan tugasnya.

Sistem tidur

Untuk komputer yang tidak perlu berjalan sepanjang masa, gunakan tugas berjadual cron root (iaitu /etc/crontab) untuk mematikan komputer dengan pasti. Contoh ini mencipta tugas berjadual akar untuk melaksanakan penutupan berjadual pada 11:15 setiap malam.

# crontab -e -u root
# m h  dom mon dow   command
15 23 * * * /sbin/shutdown -h now

Contoh berikut hanya berjalan Isnin hingga Jumaat:

15 23 * * 1-5 /sbin/shutdown -h now

Anda boleh mencipta berbilang kerja cron untuk tarikh dan masa yang berbeza. Semua medan masa dan tarikh boleh difahami melalui arahan man 5 crontab.

Cara cepat dan mudah ialah menggunakan fail /etc/crontab. Tetapi dengan cara ini anda perlu menentukan pengguna:

15 23 * * 1-5 root shutdown -h now
Bangun automatik

Memiliki bangun automatik adalah perkara yang menarik; kebanyakan rakan sekerja SUSE (SUSE Linux) saya berada di Nuremberg, jadi saya perlu bangun pada pukul 5 pagi untuk mempunyai beberapa jam masa bekerja dengan rakan sekerja saya . Komputer saya secara automatik mula berfungsi pada 5:30 pagi dan saya hanya menyeret diri saya dan kopi saya ke meja saya dan bermula. Menekan butang kuasa mungkin tidak kelihatan seperti masalah besar, tetapi pada masa itu setiap perkara kecil menjadi masalah besar.

Membangunkan komputer Linux mungkin tidak boleh dipercayai seperti mematikannya, jadi anda mungkin ingin mencuba pendekatan yang berbeza. Anda boleh menggunakan bangun jauh (Wake-On-LAN), bangun RTC atau kaedah bangun berjadual yang ditetapkan oleh BIOS PC. Sebab kaedah ini berfungsi ialah apabila anda mematikan komputer anda, anda sebenarnya tidak mematikannya dalam keadaan kuasa yang sangat rendah dan masih boleh menerima dan bertindak balas kepada isyarat. Ia hanya dimatikan sepenuhnya apabila anda mencabut suis kuasa.

BIOS bangun

BIOS bangun tidur adalah yang paling boleh dipercayai. BIOS motherboard sistem saya mempunyai penjadual bangun yang mudah digunakan (Rajah 1). Ia sama mudah untuk anda.

linux 系统如何自动关机和开机

Rajah 1: BIOS sistem saya mempunyai pemasa bangun yang mudah digunakan.

Hos bangun tidur jauh (Wake-On-LAN)

远程唤醒是仅次于 BIOS 唤醒的又一种可靠的唤醒方法。这需要你从第二台计算机发送信号到所要打开的计算机。可以使用 Arduino 或树莓派Raspberry Pi发送给基于 Linux 的路由器或者任何 Linux 计算机的唤醒信号。首先,查看系统主板 BIOS 是否支持 Wake-On-LAN ,要是支持的话,必须先启动它,因为它被默认为禁用。

然后,需要一个支持 Wake-On-LAN 的网卡;无线网卡并不支持。你需要运行 ethtool 命令查看网卡是否支持 Wake-On-LAN :

# ethtool eth0 | grep -i wake-on
        Supports Wake-on: pumbg
        Wake-on: g

这条命令输出的 “Supports Wake-on” 字段会告诉你你的网卡现在开启了哪些功能:

  • d -- 禁用
  • p -- 物理活动唤醒
  • u -- 单播消息唤醒
  • m -- 多播(组播)消息唤醒
  • b -- 广播消息唤醒
  • a -- ARP 唤醒
  • g -- 特定数据包magic packet唤醒
  • s -- 设有密码的特定数据包magic packet唤醒

ethtool 命令的 man 手册并没说清楚 p 选项的作用;这表明任何信号都会导致唤醒。然而,在我的测试中它并没有这么做。想要实现远程唤醒主机,必须支持的功能是 g —— 特定数据包magic packet唤醒,而且下面的“Wake-on” 行显示这个功能已经在启用了。如果它没有被启用,你可以通过 ethtool 命令来启用它。

# ethtool -s eth0 wol g

这条命令可能会在重启后失效,所以为了确保万无一失,你可以创建个 root 用户的定时任务(cron)在每次重启的时候来执行这条命令。

@reboot /usr/bin/ethtool -s eth0 wol g

另一个选择是最近的网络管理器Network Manager版本有一个很好的小复选框来启用 Wake-On-LAN(图 2)。

linux 系统如何自动关机和开机

图 2:启用 Wake on LAN

这里有一个可以用于设置密码的地方,但是如果你的网络接口不支持安全开机Secure On密码,它就不起作用。

现在你需要配置第二台计算机来发送唤醒信号。你并不需要 root 权限,所以你可以为你的普通用户创建 cron 任务。你需要用到的是想要唤醒的机器的网络接口和MAC地址信息。

30 08 * * * /usr/bin/wakeonlan D0:50:99:82:E7:2B 
RTC 唤醒

通过使用实时闹钟来唤醒计算机是最不可靠的方法。对于这个方法,可以参看 Wake Up Linux With an RTC Alarm Clock[1] ;对于现在的大多数发行版来说这种方法已经有点过时了。

下周继续了解更多关于使用 RTC 唤醒的方法。

通过 Linux 基金会和 edX 可以学习更多关于 Linux 的免费 Linux 入门[2]教程。

(题图:The Observatory at Delhi[3]


Atas ialah kandungan terperinci Bagaimana untuk menutup dan boot sistem linux secara automatik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:linuxprobe.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam