Shutdown otomatis pada waktu yang ditentukan?

18

Saya sadar saya dapat menggunakan (sudo?) shutdown -h hh:mmDi jendela terminal untuk mematikan sistem, namun pengguna yang masuk adalah pengguna kios, yang dikunci sedemikian rupa sehingga terminal (atau jendela apa pun selain firefox , dalam hal ini) tidak dapat dibuka.

Pertanyaan saya adalah:
Apakah ada cara saya bisa melakukan ini tanpa membuka jendela terminal? Saya sudah membaca tentang cron, tetapi tidak bisa menyelesaikannya.
Bagaimana saya bisa mengubah waktu penutupan tergantung pada hari apa sekarang?

MrAxlee
sumber
Apakah Anda ingin mematikan pada 02:00?
αғsнιη
Tidak, maaf, itulah yang digunakan dalam contoh yang saya baca. Biasanya jam 11:30, tapi saya bertanya-tanya apakah ada cara untuk menentukan waktu yang berbeda untuk hari yang berbeda?
MrAxlee
1
Anda dapat merujuk url untuk shutdown otomatis. askubuntu.com/questions/19774/…
vembutech
1
@vembutech Pertanyaan itu adalah untuk mematikan setelah periode waktu tertentu telah berlalu - tidak mematikan pada waktu tertentu - namun meskipun akan mudah untuk mengadopsi ini dengan kebutuhan saya, saya masih tidak dapat menjalankan jendela tambahan selain firefox. Terima kasih atas balasan Anda! Tampaknya jauh lebih sederhana daripada menggunakan cron, dan kemungkinan besar saya akan menggunakannya untuk keperluan lain :)
MrAxlee
@MrAxlee ... Jadi, Anda ingin sistem dimatikan n jam setelah dihidupkan ?
Kaz Wolfe

Jawaban:

30

Cron akan bekerja dengan sangat baik untuk ini.

Tambahkan baris di bawah ini (dengan tweak) ke akhir /etc/crontab:

30 23 * * * root shutdown -h now

Pada pukul 23:30 (11:30 malam), kios akan tutup. Tidak peduli apa pun pengguna yang masuk, perintah mematikan berjalan sebagai root.

(Jika Anda tidak ingin menggunakan global crontab, masuklah sebagai root dan gunakan crontab -e. Gunakan sintaksis yang sama di atas tanpa root).


Format Cron:

MM HH DD OO WW command

MM: Menit, 0-59
HH: 24 jam jam
DD: Hari bulan
OO: Bulan
WW: Hari Minggu (Minggu adalah 0, Senin adalah 1)
command: Cukup jelas

Kaz Wolfe
sumber
@JacobVlijm Kapan itu ditambahkan? Saya tidak melihatnya di dokumentasi Cron resmi .
Kaz Wolfe
1
Saya akan mencarinya ...
Jacob Vlijm
1
from crontab (5): Format sistem crontab, / etc / crontab termasuk kolom who yang tidak ada di crontab pengguna. Di crontab sistem, cron menjalankan perintah seperti yang ditentukan pengguna di kolom ini. Di crontab pengguna, semua perintah dijalankan sebagai pengguna yang membuat crontab.
Jacob Vlijm
@Whaaaaaat Jawaban yang bagus, bekerja dengan baik, terima kasih !. Apa perbedaan antara -hdan -s?
MrAxlee
1
@MrAxlee -ssepertinya bukan "sintaks yang tepat." -hberarti menghentikan atau mematikan sistem (pilihan sistem - shutdown lebih disukai)
Kaz Wolfe
6

Cronjob tampaknya menjadi cara terbaik karena Anda dapat menentukan waktu yang berbeda untuk hari yang berbeda. Pada sistem berbasis Gnome, Anda hanya dapat menginstal Tugas Shedule GNOME dengan menggunakan

sudo apt-get install gnome-schedule

dan kemudian mengkonfigurasi cronjob menggunakan GUI.

jika tidak, Anda harus menggunakan sudo crontab -e dan kemudian menambahkan baris berikut

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

ini akan mematikan PC pada 11:30 dari Senin hingga Jumat dan pada 10:30 pada hari Sabtu dan Minggu. Strukturnya sangat sederhana:

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

Untuk informasi lebih lanjut tentang ini, Anda juga bisa memeriksa CronHowto

Christian Rauchenwald
sumber
2
Saya harus menggunakan secara khusus /sbin/shutdownbukan shutdownkarena PATH root cron saya berbeda dari pada terminal saya mencoba skrip saya.
Jaakko
3

Kami bisa shutdown secara otomatis pada waktu tertentu dengan hanya menjalankan perintah sudo poweroffdicrontab .

Jika Anda ingin mematikan sistem pada pukul 18:30 setiap hari. Ketik terminal:

sudo crontab -e

sunting

30 18 * * * poweroff
bunga aster
sumber
@ mrm Ada metode alternatif, mungkin ada banyak solusi berbeda untuk masalah tertentu dan jawabannya begitu. Bukankah ini bermanfaat atau tidak? Tolong saya minta Anda untuk tidak downvote untuk menjawab atau pertanyaan jika Anda tidak jelas tentang hal itu. Baca pertanyaan dengan benar dan lihat apakah jawabannya berlaku untuk pertanyaan khusus itu atau tidak. Jika Anda masih memiliki dilema apa pun, Anda bebas bertanya di Tanya Ubuntu Meta atau di sini lalu buat keputusan.
Daisy
Dalam satu baris crontab, Anda memiliki dua masalah: poweroffmelompati skrip shutdown, yang mungkin penting untuk, katakanlah, secara aman mematikan basis data Anda atau apa pun, dan Anda punya sudocrontab root yang tidak diperlukan. Anda juga tidak membahas bagaimana merujuk hari yang berbeda dalam seminggu saat pertanyaan diajukan. Jadi tidak, ini bukan metode alternatif. Seperti dua kesalahan dan kelalaian. Dua jawaban lain yang dibuat setahun sebelum jawaban Anda benar dan benar-benar berfungsi.
mrm
@ Mr Yah, saya menggunakan skrip ini selama tiga tahun terakhir dan saya tidak melihat masalah apa pun. Dan ya alternatif ini dan juga memperbaiki metode yang bermanfaat. Que adalah shutdown otomatis pada waktu yang ditentukan. Ada perintah untuk mematikan dan untuk waktu yang ditentukan secara otomatis, kita dapat menggunakan crontab sesuai kebutuhan kita. Akan lebih baik bagi Anda jika Anda mengajukan pertanyaan berbeda tentang masalah Anda.
daisy