Saya tahu bahwa Anda dapat menjadwalkan penghentian untuk waktu tertentu melalui shutdown -h 21:45
dan bahwa Anda tidak boleh menggunakan crontab untuk hal-hal seperti itu karena sifatnya yang berulang. Bagaimana saya bisa menjadwalkan penghentian untuk tanggal tertentu seperti 31 Agustus pukul 20:00?
11
shutdown
. Seperti yang saya tulis dalam jawaban lain, Anda yang menginginkan ini dapat mencoba membujuk orang-orang systemd untuk membuatshutdown
alat mereka lebih mampu, dengan sintaks berdiri puluhan tahun, daripada berkeliling rumah dengansystemd-run
.The
at
perintah untuk penjadwalan satu dari eksekusi masa depan.misalnya
("<EOT>" diproduksi dengan menekan control-D)
Anda dapat menempatkan
shutdown
perintah Anda di sini.sumber
at
ketika saya memposting -at
pasti dimaksudkan untuk ini secara umum, meskipun di perusahaan metode yang diterima mungkinat
ataucron
, tergantung pada konvensi yang terkait dengan manajemen konfigurasi / penyebaran.at
juga mampu mengambil perintah dari pipa:echo "echo yup > $(tty)" | at now
.Meskipun
at
cara yang jelas untuk melakukan ini, saya pikir itu akan bertahan shutdowns, jadi jika mesin reboot sebelum shutdown yang dijadwalkan, itu mungkin shutdown lagi pada waktu yang dijadwalkan. Oleh karena itu, menggunakan tanggal bash dan GNU kita dapat menggunakan shutdown tertunda./sbin/shutdown +$(( ( $( date -d "30 may 2019 13:15" +%s ) - $( date +%s ) ) / 60 + 1 ))
NB: Ini hanya akurat untuk satu menit. Ini bekerja dengan mengubah waktu yang dijadwalkan, dan sekarang menjadi detik sejak zaman UNIX, menghitung perbedaannya, mengubahnya menjadi menit, dan kemudian menggunakan ini sebagai penundaan untuk mematikan. Ini tidak akan berfungsi dengan benar jika waktu yang dijadwalkan di masa lalu.
sumber
Anda menggunakan
shutdown
perintah yang lebih baik .Perintah van Smoorenburg, Upstart, dan systemd
shutdown
tidak mengizinkan spesifikasi tanggal. Tetapishutdown
perintah BSD mengambil nilai tanggal dalam spesifikasi kapan harus dimatikan, dalam formuliryymmddhhmm
. Ini telah menjadi kasus sejak 4BSD, dan tetap demikian dengan FreeBSD dan OpenBSD. NetBSD memperluasnya keccyymmddhhmm
.Karena nosh toolset juga dapat digunakan pada BSD, saya memberi
shutdown
perintah saya kemampuan yang sama, memperluasnya keCCYYMMDDHHMM
per NetBSD. Dan karena nosh toolset juga dapat digunakan di Linux, itu memberi Linux perintah shutdown yang membutuhkan tanggal.Ini tentu saja bekerja dengan nosh
system-manager
. Ini juga bekerja dengan beberapa sistem lain. Ini mengirimkan sinyal ke proses # 1 untuk memberlakukan hal-hal dan sinyal yang sama dipahami oleh beberapa manajer sistem lain, sepertisystemd
, yang juga dapat dimatikan menggunakannya.Anda bisa menggunakannya, atau alat seperti itu; atau Anda bisa mencoba meyakinkan penulis
shutdown
program Linux lain untuk memperluas alat mereka agar juga mampu seperti BSDshutdown
.Bacaan lebih lanjut
shutdown
. halaman manual toolset nosh. Perangkat lunak.system-manager
. halaman manual toolset nosh. Perangkat lunak.shutdown
. Manual Manajer Sistem . Halaman Manual NetBSD. 2011-11-04.shutdown
. Manual Manajer Sistem FreeBSD . 2018-01-01.shutdown
. Halaman Manual OpenBSD. 2015-01-21.sumber
Untuk menjalankan pekerjaan hanya tahun ini:
Untuk menjalankan pekerjaan setiap tahun:
sumber
Mungkin ada opsi untuk memasukkan tahun ke
shutdown
perintah, tetapi cron dapat digunakan untuk menjalankan perintah hanya sekali pada titik waktu tertentu. Sebagai contoh Anda, cobalahHati-hati: di atas bukan sintaks cron standar.
sumber
year
bidang dalamcrontab
jadwal