Bạn có thể làm cho hệ thống linux tạm dừng và khởi động Raspberry-pi của tôi vào những thời điểm nhất định không?


7

Làm thế nào để làm cho một hệ thống tự tắt và bật lại vào những thời điểm khác nhau. Ví dụ, tôi sẽ tắt "máy chủ" của mình lúc 4 giờ sáng và sau đó bật lại vào lúc 5 giờ sáng mỗi ngày. Điều này có thể không? Tôi đang sử dụng Raspberry-pi với phiên bản Raspbian mới nhất.


3
Có một lý do cụ thể tại sao bạn muốn làm điều đó? Có lẽ sẽ có một cách khác để đạt được mục tiêu cuối cùng của bạn. Đây có thể là một câu hỏi XY .
Nate Eldredge

Câu trả lời:


9

Bạn sẽ có thể làm điều này với một bộ đếm thời gian chính giữa ổ cắm điện lưới và nguồn điện.

Tắt Raspberry lúc 4 giờ sáng bằng công việc định kỳ, sau đó đặt bộ hẹn giờ để cắt nguồn điện một lát sau và khôi phục nguồn điện vào lúc 5 giờ sáng


1
Methinks này sẽ hoạt động tốt, bộ hẹn giờ như vậy là rẻ và dễ sử dụng.
goldilocks

Đừng quên để mắt đến nó trong những thay đổi thời gian của Tiết kiệm ánh sáng ban ngày! Bạn sẽ kết thúc hoặc cắt điện trước khi chạy halt, hoặc chỉ bật nó trong một giờ và sau đó tắt trong phần còn lại của ngày.
IQAndreas

@IQAndreas: Bạn sẽ chỉ kết thúc việc cắt điện sớm nếu bộ hẹn giờ được đặt cho DST lần trong khi Pi không sử dụng DST. Nếu Pi sử dụng DST, nhưng bộ hẹn giờ thì không, tất cả những gì sẽ xảy ra là Pi sẽ ở trạng thái "tạm dừng" trong một giờ (nó sẽ bắt đầu tắt lúc 4 giờ sáng; bộ hẹn giờ sẽ cắt điện chỉ sau 5 giờ sáng và đưa nó lên một lần nữa lúc 6 giờ sáng).
Michael Madsen

12

Bạn có thể tạm dừng hoặc ngủ đông hệ thống của mình và sau đó tự động đánh thức nó bằng rtcwakelệnh. Ví dụ: tạm dừng (để ram) và tiếp tục sau 60 giây

rtcwake -s 60 -m mem

Để ngủ đông (tạm dừng vào đĩa) trong một giờ kể từ bây giờ và tiếp tục sau hai giờ:

sleep 3600; rtcwake -s 3600 -m disk

Bạn cũng có thể đánh thức hệ thống tại thời điểm nhất định với -ttùy chọn mất vài giây kể từ năm 1970 làm đối số. Chạy man rtcwakeđể biết thêm.


3
Câu trả lời tốt (+1) nhưng điều này sẽ không hoạt động trên raspberry pi vì nó không có chip RTC (nó cần một ntpdịch vụ để có thời gian chính xác khi khởi động).
goldilocks

1
Quả thực tôi không có kinh nghiệm với pi mâm xôi. Nếu câu trả lời này sẽ không bị hạ cấp ồ ạt, tôi sẽ để nó như một giải pháp khả thi cho các nền tảng khác.
jimmij

2
Tôi nghĩ rằng đây là một câu trả lời tốt trong trường hợp bất cứ ai đang tìm kiếm một hệ thống không raspberry-pi.
Matt

8

Bạn có thể lấy nó để tắt bất cứ khi nào bạn thích với halthoặc shutdown nowhoặc bất cứ điều gì bạn thích; lên lịch với cronhoặc một quá trình ngủ tùy chỉnh.

Ngoài việc đánh thức thời gian thực được thực hiện bởi phần cứng PC thông thường (mà pi không có) và có thể sử dụng thông qua rtcwake, còn có Wake-on-LAN .

Thật không may, cả hai sẽ không hoạt động trên pi mâm xôi , vì bạn không thể:

  • Đình chỉ RAM.
  • Giết hoặc đặt lại nguồn điện, ngoại trừ bằng cách rút phích cắm.
  • Tạm dừng lưu trữ, ngoại trừ (có thể) bằng cách thực hiện một số sửa đổi đối với cấu hình HĐH (như vậy, raspbian sử dụng ramdisk nén để trao đổi) - và ngay cả khi đó, bộ tải khởi động cũng sẽ không cung cấp cho bạn tùy chọn bỏ qua.

Phần cứng pi không có bất kỳ tính năng "quản lý năng lượng" nào ngoài việc khởi động lại. Nếu nó được cắm vào, nó sẽ bật và nó vẫn bật sau khi hệ thống tạm dừng.


3

Tắt dễ dàng, sử dụng powerofflệnh - đặt nó vào crontab nếu bạn muốn. Tuy nhiên, việc khởi động khó hơn vì HĐH không chạy khi máy bị dừng, vì vậy bạn không thể chỉ thêm một công việc định kỳ và mong đợi nó chạy. Trên một số PC, rtcwakelệnh thực sự sẽ hoạt động nhưng trên một số PC thì không, và bạn có thể cần phải sửa lại các cài đặt BIOS.

Đối với Raspberry, như @goldilocks đã trả lời, bạn không thể sử dụng điều đó - giải pháp duy nhất sẽ là giải pháp phần cứng với vi điều khiển, RTC và rơle hoặc MOSFET mà dòng điện của Raspberry sẽ đi qua. Bộ vi điều khiển nên được kết nối với các cổng GPIO của Pi và bạn nên tạo cho mình một bộ rtcwaketương đương để nói chuyện với bộ vi điều khiển đó và cung cấp cho nó thời gian hiện tại và thời gian đánh thức / tắt máy.



1

Để lên lịch tắt máy chủ, bạn có thể lên lịch /sbin/shutdown -h nowtrong cronbảng của mình . Để khởi động, một số BIOS hệ thống cho phép bạn tự động khởi động hệ thống vào một thời điểm nhất định trong ngày. Nếu BIOS của bạn không hỗ trợ điều đó, bạn có thể xem xét việc có một máy chủ khác trên cùng mạng gửi gói Wake-On-Lan, nhưng điều đó cũng yêu cầu hỗ trợ BIOS và một máy chủ đang chạy khác trên mạng.

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.