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 -hpada 21:45.
Untuk perintah yang tidak menawarkan fungsi ini, Anda dapat mencoba salah satu dari:
The atdaemon 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 atperintah dari STDIN:
$ at now + 1 min
warning: commands will be executed using /bin/sh
at> ls
Kemudian, tekan CtrlDuntuk keluar dari atshell. The lsperintah 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.shpada 21:34 dan 12 detik pada 14 Maret 2014.
Pendekatan lainnya adalah menggunakan cronpenjadwal 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 lssetiap 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.
shutdownpenjadwalan dan crondalam 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 +5pada 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
atperintah.
attidak perlu penjelasan. Saya bisa melihat Anda percaya sebaliknya. Pikiran yang berbeda, pandangan yang berbeda.
shutdowntidak mengizinkan spesifikasi tanggal. Tetapi nosh toolset shutdownmendukung, 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.