>  기사  >  시스템 튜토리얼  >  Linux 시스템을 자동으로 종료하고 부팅하는 방법

Linux 시스템을 자동으로 종료하고 부팅하는 방법

WBOY
WBOY앞으로
2024-03-01 08:00:24755검색

에너지 낭비자가 되지 마세요. 컴퓨터를 켤 필요가 없으면 끄십시오. 편의를 위해 컴퓨터 전문가를 위해 Linux 컴퓨터를 자동으로 깨우고 종료하도록 구성할 수 있습니다.

소중한 시스템 가동 시간

때때로 일부 컴퓨터는 항상 켜져 있어야 합니다. 이러한 상황은 컴퓨터 실행 시간을 초과하지 않는 한 허용됩니다. 어떤 사람들은 오랫동안 컴퓨터를 가동 상태로 유지하는 것에 자부심을 갖고 있으며, 이제는 하드웨어 오류가 발생할 경우에만 컴퓨터를 종료하면 되는 커널 핫픽스가 있습니다. 내 생각에 더 실용적이라고 생각하는 것은 움직이는 부품의 마모를 줄이는 것과 같이 전력을 절약하고 필요하지 않을 때 기계를 끄는 것입니다. 예를 들어, 지정된 시간에 백업 서버를 깨워 백업을 수행한 후 다음 백업이 준비될 때까지 종료할 수 있습니다. 또는 특정 시간에만 실행되도록 인터넷 게이트웨이를 설정할 수 있습니다. 항상 실행될 필요가 없는 모든 항목은 작동해야 할 때 켜지고 작업이 완료되면 꺼지도록 구성할 수 있습니다.

시스템 절전

항상 실행될 필요가 없는 컴퓨터의 경우 루트의 cron 예약 작업(예: /etc/crontab)을 사용하여 컴퓨터를 안정적으로 종료하세요. 이 예에서는 매일 밤 11시 15분에 예약된 종료를 구현하는 루트 예약 작업을 생성합니다.

으아악

다음 예는 월요일부터 금요일까지만 실행됩니다.

으아악

다른 날짜와 시간에 대해 여러 크론 작업을 생성할 수 있습니다. 모든 시간 및 날짜 필드는 man 5 crontab 명령을 통해 이해할 수 있습니다.

빠르고 쉬운 방법은 /etc/crontab 파일을 사용하는 것입니다. 하지만 이 방법에서는 사용자를 지정해야 합니다:

으아악
자동 깨우기

자동 깨우기 기능은 멋진 기능입니다. SUSE(SUSE Linux) 동료 대부분이 뉘른베르크에 있기 때문에 동료들과 몇 시간씩 작업하려면 오전 5시에 일어나야 합니다. 내 컴퓨터는 오전 5시 30분에 자동으로 작동하기 시작합니다. 저는 커피와 함께 책상으로 끌고 가서 작업을 시작합니다. 전원 버튼을 누르는 것이 별것 아닌 것처럼 보일 수도 있지만, 그 시간에는 모든 작은 일이 큰 일이 됩니다.

Linux 컴퓨터를 깨우는 것은 종료하는 것만큼 안정적이지 않을 수 있으므로 다른 접근 방식을 시도해 볼 수도 있습니다. 원격 깨우기(Wake-On-LAN), RTC 깨우기 또는 PC의 BIOS에서 설정한 예약 깨우기 방법을 사용할 수 있습니다. 이러한 방법이 효과가 있는 이유는 컴퓨터를 끌 때 실제로 컴퓨터를 끄는 것이 아니라 매우 낮은 전력 상태이고 여전히 신호를 수신하고 응답할 수 있기 때문입니다. 전원 스위치를 뽑으면 완전히 꺼집니다.

BIOS 깨우기

BIOS wake up이 가장 안정적입니다. 내 시스템의 마더보드 BIOS에는 사용하기 쉬운 깨우기 스케줄러가 있습니다(그림 1). 그것은 당신에게도 쉽습니다.

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

그림 1: 내 시스템 BIOS에는 사용하기 쉬운 깨우기 타이머가 있습니다.

호스트 원격 깨우기(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]


위 내용은 Linux 시스템을 자동으로 종료하고 부팅하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 linuxprobe.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제