GNU/Linux >> Belajar Linux >  >> Linux

Cara Menjalankan atau Mengulang Perintah Linux Setiap X Detik Selamanya

Seorang administrator sistem sering kali perlu menjalankan perintah berulang kali dalam jangka waktu tertentu. Seringkali tugas seperti itu dapat diselesaikan dengan mudah dengan perintah cron sederhana. Dalam sebagian besar kasus, ini seharusnya berhasil, tetapi periode terpendek Anda dapat menjalankan perintah cron adalah setiap 1 menit. Percaya atau tidak, dalam banyak kasus ini terlalu lambat.

Dalam tutorial ini, Anda akan mempelajari teknik skrip sederhana untuk memantau atau mengawasi perintah tertentu dalam status yang terus berjalan mirip dengan perintah teratas (terus memantau proses dan penggunaan memori) untuk setiap 3 detik secara default.

Kami tidak akan berhenti untuk membahas alasannya, mengapa Anda harus sering menjalankan perintah ini. Saya percaya setiap orang memiliki alasan berbeda untuk itu dalam pekerjaan sehari-hari mereka atau bahkan di PC dan laptop di rumah.

1. Gunakan perintah jam tangan

Tonton adalah perintah Linux yang memungkinkan Anda untuk menjalankan perintah atau program secara berkala dan juga menampilkan output di layar. Ini berarti Anda akan dapat melihat output program tepat waktu. Secara default, arloji menjalankan kembali perintah/program setiap 2 detik. Interval dapat dengan mudah diubah untuk memenuhi kebutuhan Anda.

Pantau Penggunaan Memori

“Watch” sangat mudah digunakan, untuk mengujinya, Anda dapat langsung menjalankan terminal Linux dan ketik perintah berikut:

# watch free -m

Perintah di atas akan memeriksa memori bebas sistem Anda dan memperbarui hasil perintah bebas setiap dua detik.

Seperti yang terlihat pada output di atas, Anda memiliki header, yang menampilkan informasi tentang (dari kiri ke kanan) interval pembaruan, perintah yang sedang dijalankan, dan waktu saat ini. Jika Anda ingin menyembunyikan header ini, Anda dapat menggunakan -t pilihan.

Pertanyaan logis berikutnya adalah – bagaimana mengubah interval eksekusi. Untuk itu, Anda dapat menggunakan -n opsi, yang menentukan interval dengan mana perintah akan dieksekusi. Interval ini ditentukan dalam detik. Jadi katakanlah Anda ingin menjalankan script.sh Anda file setiap 10 detik, Anda dapat melakukannya seperti ini:

# watch -n 10 script.sh

Catatan bahwa jika Anda menjalankan perintah seperti yang ditunjukkan di atas, Anda perlu cd ke direktori (pelajari 15 cd Contoh Perintah) tempat skrip berada atau tentukan jalur lengkap ke skrip tersebut.

Pilihan lain yang berguna dari perintah menonton adalah:

  1. -b – membuat bunyi bip jika keluar dari perintah bukan nol.
  2. -c – Menafsirkan urutan warna ANSI.
  3. -d – menyoroti perubahan dalam output perintah.

Pantau Pengguna yang Masuk, Waktu Aktif, dan Rata-Rata Muat

Katakanlah Anda ingin memantau pengguna yang masuk, waktu aktif server, dan memuat output rata-rata dalam fase berkelanjutan setiap beberapa detik, lalu gunakan perintah berikut seperti yang ditunjukkan:

# watch uptime

Untuk keluar dari perintah, tekan CTRL+C .

Di sini, 'uptime' perintah akan berjalan dan menampilkan hasil yang diperbarui setiap 2 detik secara default.

Pantau Kemajuan Perintah Salin

Di Linux, saat menyalin file dari satu lokasi ke lokasi lain menggunakan cp perintah, progres data tidak ditampilkan, untuk melihat progres data yang disalin, Anda dapat menggunakan watch perintah bersama dengan perintah du -s untuk memeriksa penggunaan disk secara real time.

# cp ubuntu-15.10-desktop-amd64.iso /home/tecmint/ &
# watch -n 0.1 du -s /home/tecmint/ubuntu-15.10-desktop-amd64.iso 

Jika menurut Anda proses di atas terlalu rumit untuk dicapai, saya sarankan Anda menggunakan perintah Salin lanjutan, yang menunjukkan kemajuan data saat menyalin.

2. Gunakan Perintah tidur

Sleep sering digunakan untuk men-debug skrip shell, tetapi juga memiliki banyak tujuan berguna lainnya. Misalnya, ketika digabungkan dengan for atau while loop, Anda bisa mendapatkan hasil yang cukup mengagumkan.

Jika Anda baru mengenal skrip bash, Anda dapat memeriksa panduan kami tentang loop bash di sini.

Jika ini adalah pertama kalinya Anda mendengar tentang "sleep" perintah, digunakan untuk menunda sesuatu untuk jumlah waktu tertentu. Dalam skrip, Anda dapat menggunakannya untuk memberi tahu skrip Anda untuk menjalankan perintah 1, tunggu selama 10 detik, lalu jalankan perintah 2.

Dengan loop di atas, Anda dapat memberi tahu bash untuk menjalankan perintah, tidur selama N jumlah detik dan kemudian jalankan perintah lagi.

Di bawah ini Anda dapat melihat contoh kedua loop:

Contoh untuk loop

# for i in {1..10}; do echo -n "This is a test in loop $i "; date ; sleep 5; done

Satu liner di atas, akan menjalankan perintah echo dan menampilkan tanggal saat ini, total 10 kali, dengan jeda 5 detik di antara eksekusi.

Berikut adalah contoh keluarannya:

This is a test in loop 1 Wed Feb 17 20:49:47 EET 2016
This is a test in loop 2 Wed Feb 17 20:49:52 EET 2016
This is a test in loop 3 Wed Feb 17 20:49:57 EET 2016
This is a test in loop 4 Wed Feb 17 20:50:02 EET 2016
This is a test in loop 5 Wed Feb 17 20:50:07 EET 2016
This is a test in loop 6 Wed Feb 17 20:50:12 EET 2016
This is a test in loop 7 Wed Feb 17 20:50:17 EET 2016
This is a test in loop 8 Wed Feb 17 20:50:22 EET 2016
This is a test in loop 9 Wed Feb 17 20:50:27 EET 2016
This is a test in loop 10 Wed Feb 17 20:50:32 EET 2016

Anda dapat mengubah gema dan tanggal perintah dengan perintah atau skrip Anda sendiri dan ubah interval tidur sesuai kebutuhan Anda.

Contoh perulangan while

# while true; do echo -n "This is a test of while loop";date ; sleep 5; done

Berikut adalah contoh keluaran:

This is a test of while loopWed Feb 17 20:52:32 EET 2016
This is a test of while loopWed Feb 17 20:52:37 EET 2016
This is a test of while loopWed Feb 17 20:52:42 EET 2016
This is a test of while loopWed Feb 17 20:52:47 EET 2016
This is a test of while loopWed Feb 17 20:52:52 EET 2016
This is a test of while loopWed Feb 17 20:52:57 EET 2016

Perintah di atas akan berjalan hingga dihentikan atau diinterupsi oleh pengguna. Ini bisa berguna jika Anda perlu menjalankan perintah yang berjalan di latar belakang dan Anda tidak ingin mengandalkan cron .

Penting :Saat menggunakan metode di atas, sangat disarankan agar Anda menyetel interval yang cukup lama untuk memberikan waktu yang cukup bagi perintah Anda untuk selesai berjalan, sebelum eksekusi berikutnya.

Kesimpulan

Contoh dalam tutorial ini berguna, tetapi tidak dimaksudkan untuk sepenuhnya menggantikan utilitas cron. Terserah Anda untuk menemukan mana yang bekerja lebih baik untuk Anda, tetapi jika kita harus memisahkan penggunaan kedua teknik, saya akan mengatakan ini:

  1. Gunakan cron saat Anda perlu menjalankan perintah secara berkala bahkan setelah sistem di-boot ulang.
  2. Gunakan metode yang dijelaskan dalam tutorial ini untuk program/skrip yang dimaksudkan untuk dijalankan dalam sesi pengguna saat ini.

Seperti biasa jika Anda memiliki pertanyaan atau komentar, jangan ragu untuk mengirimkannya di bagian komentar di bawah.


Linux
  1. Ulangi Perintah Unix Setiap X Detik Selamanya?

  2. Tonton:Ulangi Perintah Unix atau Skrip Shell setiap N detik

  3. Bagaimana cara menjalankan skrip bash berulang kali setiap N detik?

  1. Cara menggunakan Perintah Su di Linux

  2. Cara Mengulang Perintah Sampai Berhasil Di Linux

  3. Cara mencatat setiap perintah shell di Linux

  1. Cara Menjalankan Perintah dengan Batas Waktu (Timeout) Di Linux

  2. Bagaimana cara mengatur pekerjaan CRON agar berjalan setiap 10 detik di Linux?

  3. linux:cara menjalankan perintah di direktori tertentu