Tự động tắt máy vào thời gian quy định?


18

Tôi biết tôi có thể sử dụng (sudo?) shutdown -h hh:mmTrong cửa sổ đầu cuối để tắt hệ thống, tuy nhiên người dùng đã đăng nhập là người dùng kiosk, bị khóa theo cách mà thiết bị đầu cuối (hoặc bất kỳ cửa sổ nào khác ngoài firefox , cho vấn đề đó) không thể được mở.

Câu hỏi của tôi là:
Có cách nào tôi có thể làm điều này mà không cần mở cửa sổ đầu cuối không? Tôi đã đọc về cron, nhưng không thể hiểu hết được.
Làm thế nào tôi có thể thay đổi thời gian tắt tùy thuộc vào ngày nào?


Bạn có muốn tắt máy vào 02:00 AM không?
năm15 lúc 8:30

Không, xin lỗi, đó chỉ là những gì được sử dụng trong ví dụ tôi đọc. Thông thường vào lúc 11:30, nhưng tôi đã tự hỏi liệu có cách nào để xác định thời gian khác nhau cho các ngày khác nhau không?
MrAxlee

1
Bạn có thể tham khảo url để tự động tắt. Askubfox.com/questions/19774/ Mạnh
vembutech

1
@vembutech Câu hỏi đó là để tắt sau khi một khoảng thời gian nhất định trôi qua - không tắt vào một thời điểm nhất định - tuy nhiên mặc dù có thể dễ dàng chấp nhận điều này cho nhu cầu của tôi, tôi vẫn không thể chạy các cửa sổ bổ sung khác ngoài firefox. Cảm ơn bạn đã trả lời của bạn mặc dù! Nó có vẻ đơn giản hơn nhiều so với việc sử dụng cron và rất có thể tôi sẽ sử dụng nó cho các mục đích sử dụng khác :)
MrAxlee

@MrAxlee ... Vì vậy, bạn muốn hệ thống tắt n giờ sau khi bật?
Kaz Wolfe

Câu trả lời:


30

Cron sẽ làm việc rất tốt cho việc này.

Thêm dòng dưới đây (có chỉnh sửa) vào cuối /etc/crontab:

30 23 * * * root shutdown -h now

Lúc 23:30 (11:30 PM), ki ốt sẽ ngừng hoạt động. Bất kể người dùng nào đăng nhập, lệnh shutdown vẫn chạy như root.

(Nếu bạn không muốn sử dụng crontab toàn cầu, hãy đăng nhập bằng root và sử dụng crontab -e. Sử dụng cú pháp tương tự ở trên mà không cần root).


Định dạng cron:

MM HH DD OO WW command

MM: Phút, 0-59
HH: 24 giờ
DD: Ngày trong tháng
OO: Tháng
WW: Ngày trong tuần (Chủ nhật là 0, Thứ hai là 1)
command: Tự giải thích


@JacobVlijm Khi nào được thêm vào? Tôi không thấy nó trong các tài liệu Cron chính thức .
Kaz Wolfe

1
Tôi sẽ tìm nó ...
Jacob Vlijm

1
từ crontab (5): Định dạng của crontab hệ thống, / etc / crontab bao gồm một cột ai không tồn tại trong crontabs của người dùng. Trong crontab hệ thống, cron chạy lệnh như người dùng được chỉ định trong cột này. Trong crontab người dùng, tất cả các lệnh chạy như người dùng đã tạo crontab.
Jacob Vlijm

@Whaaaaaat Câu trả lời tuyệt vời, hoạt động hoàn hảo, cảm ơn!. Sự khác biệt giữa -hvà là -sgì?
MrAxlee

1
@MrAxlee -sdường như không phải là "cú pháp thích hợp." -hcó nghĩa là tạm dừng hoặc tắt hệ thống (lựa chọn của hệ thống - ưu tiên tắt máy)
Kaz Wolfe

6

Một cronjob dường như là cách tốt nhất bởi vì bạn có thể chỉ định thời gian khác nhau cho các ngày khác nhau. Trên các hệ thống dựa trên Gnome, bạn chỉ có thể cài đặt Nhiệm vụ phân chia Gnome bằng cách sử dụng

sudo apt-get install gnome-schedule

và sau đó cấu hình cronjob bằng GUI.

nếu không, bạn sẽ phải sử dụng sudo crontab -evà sau đó thêm các dòng sau

30 11 * * 1-5 /sbin/shutdown -h now
30 10 * * 0,6 /sbin/shutdown -h now

việc này sẽ tắt PC vào lúc 11:30 từ thứ Hai đến thứ Sáu và vào 10:30 vào thứ Bảy và Chủ nhật. Cấu trúc rất đơn giản:

minute (0-59), hour (0-23, 0 = midnight), day (1-31), month (1-12), weekday (0-6, 0 = Sunday), command 

Để biết thêm thông tin về điều này, bạn cũng có thể xem CronHowto


2
Tôi đã phải sử dụng cụ thể /sbin/shutdownthay shutdownvì bởi vì cron gốc của tôi khác với trong thiết bị đầu cuối mà tôi đã thử tập lệnh của mình.
Jaakko

3

Chúng ta có thể tắt tự động tại thời điểm được chỉ định bằng cách chạy lệnh sudo poweroff trong crontab.

Nếu bạn muốn tắt hệ thống lúc 6:30 tối mỗi ngày. Nhập vào thiết bị đầu cuối:

sudo crontab -e

biên tập

30 18 * * * poweroff

@mrm Có các phương pháp thay thế, có thể có nhiều giải pháp khác nhau cho vấn đề cụ thể và câu trả lời là như vậy. Nó không trả lời hữu ích hay không? Xin vui lòng tôi yêu cầu bạn không downvote để trả lời hoặc câu hỏi nếu bạn không rõ về nó. Đọc câu hỏi đúng và xem câu trả lời có áp dụng cho câu hỏi cụ thể đó hay không. Nếu bạn vẫn còn bất kỳ vấn đề nan giải nào, bạn có thể tự do hỏi Hỏi Ubuntu Meta hoặc tại đây và sau đó đưa ra quyết định.
cúc

Trong một dòng crontab, bạn có hai vấn đề: poweroffbỏ qua các kịch bản tắt máy, có thể rất quan trọng để nói, tắt an toàn cơ sở dữ liệu của bạn hoặc bất cứ điều gì, và bạn đã có một sudocrontab gốc không cần thiết. Bạn cũng không giải quyết làm thế nào để tham khảo các ngày khác nhau trong tuần như câu hỏi được hỏi. Vì vậy, đây không phải là một phương pháp thay thế. Như vậy, đó là hai sai lầm và thiếu sót. Hai câu trả lời khác được thực hiện một năm trước bạn là chính xác và thực sự có hiệu quả.
mrm

@mrm Chà, tôi đang sử dụng kịch bản này trong ba năm qua và tôi không thấy có vấn đề gì. Và có phương pháp thay thế này và cũng đúng phương pháp hữu ích. Que được tự động tắt vào những thời điểm được chỉ định. Có một lệnh để tắt máy và trong thời gian tự động được chỉ định, chúng tôi có thể sử dụng crontab theo yêu cầu của chúng tôi. Sẽ tốt hơn cho bạn nếu bạn hỏi một câu hỏi khác liên quan đến vấn đề của bạn.
cúc
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.