Pertanyaan: Terkadang saya ingin sering mengulang perintah (atau shell-script) (setiap beberapa detik). Apakah ada cara yang lebih baik untuk menjalankan perintah unix setiap n detik (daripada terus mengetik perintah yang sama secara manual)?
Jawaban: Menggunakan perintah watch, Anda dapat menjalankan perintah dan melihat outputnya setiap beberapa detik. Ini sangat membantu saat memantau penggunaan memori, penggunaan disk, dll.,
Anda dapat menjalankan perintah Unix apa pun menggunakan perintah watch. Perintah Watch akan dijalankan hingga Anda menghentikannya baik dengan CTRL+C atau mematikan prosesnya.
Contoh 1:Menonton pembuatan file menggunakan watch ls
Saat Anda mengharapkan file dibuat oleh proses latar belakang, atau saat Anda mengharapkan file log terus bertambah ukurannya, Anda mungkin akhirnya melakukan perintah ls beberapa kali. Sebagai gantinya, Anda dapat menggunakan perintah watch, yang akan menjalankan perintah ls setiap 2 detik seperti yang ditunjukkan di bawah ini.
$ watch ls Every 2.0s: ls Thu Apr 15 16:11:58 2010 flash-plugin-10.0.45.2-release.i386.rpm install_flash_player_10_linux.deb
Baris pertama dari output perintah watch berisi informasi header berikut:
- Setiap 2.0s :Interval waktu. yaitu ls akan dieksekusi setiap 2 detik.
- ls :Perintah Unix yang dieksekusi setiap 2 detik.
- Kam 15 Apr 16:11:58 2010 :tanggal &waktu saat ini.
Baris lainnya adalah output dari perintah yang dijalankan oleh jam tangan. Dalam contoh ini, ini menampilkan output dari perintah ls.
Contoh 2:Tampilkan detail memori bekas &kosongkan (dengan perbedaan disorot)
Opsi -d menyoroti perbedaan antara pembaruan yang berurutan.
$ watch -d free -om Every 2.0s: free -om Thu Apr 15 16:11:59 2010 total used free shared buffers cached Mem: 992 878
114
0 135 379
Swap: 4095 8 4087
Jika output memori tidak berubah di sistem Anda, coba opsi -d dengan perintah tanggal untuk melihat cara kerjanya.
$ watch -d date
Catatan :Tahukah Anda bahwa Anda dapat menyorot perubahan pada output perintah teratas?
Contoh 3:Menampilkan ruang disk yang tersedia (ulangi setiap 10 detik)
Secara default perintah watch menggunakan interval 2 detik, Anda dapat mengubahnya menggunakan opsi -n. Contoh berikut mengeksekusi perintah df -h setiap 10 detik.
$ watch -n 10 df -h Every 10.0s: df -h Thu Apr 15 16:12:26 2010 Filesystem Size Used Avail Use% Mounted on /dev/sda7 30G 8.6G 20G 31% / tmpfs 497M 964K 496M 1% /dev/shm /dev/sda6 194M 22M 163M 12% /boot
Contoh 4:Menekan tajuk arloji di output
Anda dapat menekan baris pertama dari output perintah arloji menggunakan opsi -t seperti yang ditunjukkan di bawah ini.
$ watch -t ls flash-plugin-10.0.45.2-release.i386.rpm install_flash_player_10_linux.deb