Jawaban:
Anda dapat melakukan ini langsung dari shutdown command
, lihat man shutdown
:
SYNOPSIS
/sbin/shutdown [-akrhPHfFnc] [-t sec] time [warning message]
[...]
time When to shutdown.
Jadi, misalnya:
shutdown -h 21:45
Itu akan berjalan shutdown -h
pada 21:45.
Untuk perintah yang tidak menawarkan fungsi ini, Anda dapat mencoba salah satu dari:
The at
daemon dirancang untuk tepat ini. Tergantung pada OS Anda, Anda mungkin perlu menginstalnya. Pada sistem berbasis Debian, ini dapat dilakukan dengan:
sudo apt-get install at
Ada tiga cara memberi perintah kepada at
:
Pipa itu:
$ echo "ls > a.txt" | at now + 1 min
warning: commands will be executed using /bin/sh
job 3 at Thu Apr 4 20:16:00 2013
Simpan perintah yang ingin Anda jalankan di file teks, dan kemudian meneruskan file itu ke at
:
$ echo "ls > a.txt" > cmd.txt
$ at now + 1 min < cmd.txt
warning: commands will be executed using /bin/sh
job 3 at Thu Apr 4 20:16:00 2013
Anda juga dapat meneruskan at
perintah dari STDIN:
$ at now + 1 min
warning: commands will be executed using /bin/sh
at> ls
Kemudian, tekan CtrlDuntuk keluar dari at
shell. The ls
perintah akan dijalankan dalam satu menit.
Anda dapat memberikan waktu yang sangat tepat dalam format [[CC]YY]MMDDhhmm[.ss]
, seperti pada
$ at -t 201403142134.12 < script.sh
Ini akan menjalankan skrip script.sh
pada 21:34 dan 12 detik pada 14 Maret 2014.
Pendekatan lainnya adalah menggunakan cron
penjadwal yang dirancang untuk melakukan tugas pada waktu tertentu. Biasanya digunakan untuk tugas-tugas yang akan diulang tetapi Anda juga dapat memberikan waktu tertentu. Setiap pengguna memiliki "crontab" mereka sendiri yang mengontrol pekerjaan apa yang dijalankan dan kapan. Format umum crontab adalah:
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
Jadi, misalnya, ini akan berjalan ls
setiap hari pada 14:04:
04 14 * * * ls
Untuk mengatur cronjob untuk tanggal tertentu:
Buat crontab baru dengan menjalankan crontab -e
. Ini akan memunculkan jendela editor teks favorit Anda.
Tambahkan baris ini ke file yang baru saja dibuka. Contoh khusus ini akan berjalan pada 14:34 pada 15 Maret 2014 jika hari itu adalah hari Jumat (jadi, OK, itu mungkin berjalan lebih dari sekali):
34 14 15 5 /path/to/command
Simpan file dan keluar dari editor.
Jawaban SO ini menyarankan cara untuk menjalankannya hanya sekali tetapi saya belum pernah menggunakannya sehingga saya tidak dapat menjaminnya.
shutdown
. Saya merasakan pengalaman buruk itu, itu tidak mungkin menyenangkan.
shutdown
penjadwalan dan cron
dalam jawaban yang sama ... Apakah itu workstation atau server mail 1000 pengguna (pengalaman sedih saya) lebih tentang konsekuensi dari kebiasaan buruk.
shutdown
, seseorang seharusnya tidak memasukkan cron
. (terutama dengan seseorang yang tidak akan tahu mengapa itu ide yang mengerikan.)
Tidak, Anda tidak dapat menentukan tanggal pada perintah penutupan tetapi ada dua alternatif:
1) Cara termudah adalah menggunakan perintah at . Contoh berikut akan dijalankan shutdown +5
pada waktu dan hari tertentu:
echo "shutdown +5" | at 10:05am 2019-01-19
2) jika Anda tidak keberatan menggunakan kalkulator Anda dan ingin mematikan dalam katakanlah 24 jam (24 * 60 = 1440 menit) dan Anda benar-benar yakin sistem tidak akan reboot di antara:
shutdown -r +1440
at
perintah.
at
tidak perlu penjelasan. Saya bisa melihat Anda percaya sebaliknya. Pikiran yang berbeda, pandangan yang berbeda.
shutdown
tidak mengizinkan spesifikasi tanggal. Tetapi nosh toolset shutdown
mendukung, mendukung sintaks BSD yang sudah lama ada.
Ini akan mematikan sistem Anda pada pukul 12:00:
$ sudo shutdown -h 12:00
Pilihan:
-h, -P, --poweroff
Matikan mesin.
-r, --reboot
Nyalakan ulang mesin.
-c
Batalkan pematian yang tertunda.