GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mematikan Linux pada waktu tertentu dari terminal?

Anda dapat melakukannya 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 menjalankan shutdown -h pada 21:45.

Untuk perintah yang tidak menawarkan fungsi ini, Anda dapat mencoba salah satu dari:

A. Menggunakan di

at daemon dirancang tepat untuk ini. Tergantung pada OS Anda, Anda mungkin perlu menginstalnya. Pada sistem berbasis Debian, hal ini dapat dilakukan dengan:

sudo apt-get install at

Ada tiga cara untuk memberi perintah pada at :

  1. 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
    
  2. Simpan perintah yang ingin Anda jalankan dalam file teks, lalu teruskan file tersebut 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
    
  3. Anda juga dapat meneruskan at perintah dari STDIN:

    $ at now + 1 min
    warning: commands will be executed using /bin/sh
    at> ls
    

    Lalu, tekan Ctrl D untuk keluar dari at kerang. 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 tanggal 14 Maret 2014.

B. Menggunakan cron (meskipun ini bukan ide yang bagus untuk mematikan)

Pendekatan lainnya 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 menjalankan ls setiap hari pukul 14:04:

04 14 * * * ls

Untuk menyiapkan cronjob untuk tanggal tertentu:

  1. Buat crontab baru dengan menjalankan crontab -e . Ini akan memunculkan jendela editor teks favorit Anda.

  2. Tambahkan baris ini ke file yang baru saja dibuka. Contoh khusus ini akan berjalan pada pukul 14:34 pada tanggal 15 Maret 2014 jika hari itu adalah hari Jumat (jadi, oke, ini mungkin berjalan lebih dari sekali):

    34 14 15 5  /path/to/command        
    
  3. Simpan file dan keluar dari editor.

Jawaban SO ini menyarankan cara untuk menjalankannya hanya sekali tetapi saya belum pernah menggunakannya jadi saya tidak dapat menjaminnya.


Tidak, Anda tidak dapat menentukan tanggal pada perintah matikan tetapi ada dua alternatif:

1) Cara termudah adalah dengan menggunakan perintah at. Contoh berikut akan mengeksekusi shutdown +5 pada waktu dan hari tertentu:

echo "shutdown +5" | at 10:05am 2019-01-19

2) jika Anda tidak keberatan menggunakan kalkulator dan ingin mematikan dalam waktu 24 jam (24*60=1440 menit) dan Anda benar-benar yakin sistem tidak akan melakukan boot ulang di antaranya:

shutdown -r +1440

Ini akan mematikan sistem Anda pada pukul 12:00 :

$ sudo shutdown -h 12:00

Opsi:

-h, -P, --poweroff

Matikan mesin.

-r, --reboot

Nyalakan ulang mesin.

-c

Batalkan penonaktifan yang tertunda.


Linux
  1. Cara Mencari Web Dari Terminal Di Linux

  2. Cara Menghapus Perintah Tertentu Dari Riwayat Bash Di Linux

  3. Cara mematikan atau me-reboot Linux

  1. Cara Mengecualikan Direktori Tertentu Dari Menyalin Di Linux

  2. Cara Menginstal Paket Dari Repositori Tertentu Di Linux

  3. Bagaimana cara menghapus folder menggunakan regex dari terminal Linux

  1. Linux – Bagaimana Cara Menjalankan Bootloader Dari Linux?

  2. Cara Menggunakan SSMTP untuk Mengirim Email dari Terminal Linux

  3. Bagaimana saya bisa menemukan file tertentu dari terminal Linux?