tắt máy chủ linux và bật tự động vào thời gian cụ thể


8

Tôi đang có một bài tập mà giảng viên đang yêu cầu tôi tạo một tập lệnh bash để tắt máy chủ lúc 11 giờ tối và bật nó vào lúc 6 giờ sáng. Tôi có thể làm điều đó bằng cách sử dụng sudo shutdown -h 23:00và nó hoạt động. Nhưng vấn đề là tôi không biết làm thế nào để bật nó tự động vào 6 giờ sáng, tôi không thể tìm thấy bất kỳ lệnh nào có thể làm điều đó. Bất kỳ trợ giúp sẽ được đánh giá cao.


Bạn có chắc chắn bài tập của bạn yêu cầu bạn tắt toàn bộ máy (và bật lại) hoặc chỉ một quy trình máy chủ? Rõ ràng, máy vật lý cần phải được bật để làm bất cứ điều gì.
Jos

Thành thật mà nói, tôi không có ý tưởng quá, tôi cũng nghĩ rằng điều này là không thể. Các giảng viên đang rất mơ hồ về bản tóm tắt bài tập và nó cũng khiến tôi phát điên.
JLWK

Câu trả lời:


10

Trước tiên, bạn cần kiểm tra xem bạn có thể sử dụng wakealarm RTC để đánh thức hệ thống của mình không:

sudo sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm"
sudo sh -c "echo `date '+%s' -d '+ 3 minutes'` > /sys/class/rtc/rtc0/wakealarm"
cat /sys/class/rtc/rtc0/wakealarm

Kiểm tra bây giờ:

cat /proc/driver/rtc

Điều này sẽ trả về một danh sách các tham số. Kiểm tra alrm_timelà 3 phút trong tương lai và alrm_datelà ngày hôm nay.

Nếu nó hoạt động tốt, tạo một /usr/local/sbin/shutwakekịch bản:

#!/bin/bash 
sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm" 
sh -c "echo `date '+%s' -d '+ 7 hours'` > /sys/class/rtc/rtc0/wakealarm" 
shutdown -h now

Cuối cùng chỉnh sửa crontab người dùng của bạn , nhập crontab -evà thêm dòng sau:

0 23 * * * /usr/local/sbin/shutwake

Tôi phụ thuộc vào cài đặt đồng hồ BIOS, kiểm tra /etc/default/rcSxem UTC có được đặt hay không.
Sylvain Pineau

Vâng, tôi đã cố gắng chính xác như những gì bạn đã viết ở trên. Nó không hoạt động :(. -Debian 8
Bálint Pap
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.