Rabu, 11 November 2015

Script BATCH untuk ping dengan multiple host

Menyambung pembahasan gue pada tulisan disini, Temen gue kembali bertanya mengenai bagaimana membuat script Bash untuk melakukan ping ke beberapa perangkat sekaligus. Sebenarnya bingung juga bagaimana menjawabnya, karena gue tau maksudnya namun gue ga bisa jelasin bagaimananya karena memang keterbatasan kemampuan gue. Setelah gue coba googling, akhirnya gue dapet penjelasan dan contoh sederhananya disini.

Script BAT untuk PING dengan multi target

List Target untuk di PING


Hasil dari program tersebut

Dan berikut penjelasannya, langsung gue copy dari sumber tulisan ini :

@echo off
Agar seluruh perintah tidak ditampilkan ke layar. Penggunaan tanda "@" berarti termasuk line yang dimaksud.

if exist c:\users\tejo.martono\test.txt goto Label1
Jika ada file yang bernama "c:\users\tejo.martono\test.txt" Kemudian langsung menuju bagian dari batch ini yang bernama ":Label1"

echo.
Tampilkan sebuah "titik" di layar

echo Cannot find c:\users\tejo.martono\test.txt
Dikarenakan file "c:\users\tejo.martono\test.txt" tidak ditemukan, kemudian tampilkan pesan "Cannot find dan seterusnya" dilayar. File ini wajib ada ditempat yang telah ditentukan karena berisi list dari mesin atau IP yang akan di proses. Satu Mesin/IP per baris.

Pause
Berikan permintaan dilayar seperti "Press any key to continue..." dan tunggu sampai tombol apa saja ditekan.

goto :eof
menuju baris terakhir dari batch ini (keluar dari program).

:Label1
Menunjukkan sub bernama Label

echo PingTest executed on %date% at %time% > c:\users\tejo.martono\ping.txt
Tampilkan "PingTest executed on " dengan memberikan tanggal dan jam saat proses dilaksanakan. Tetapi jangan ditampilkan dilayar, langsung ke sebuah file bernama c:\users\tejo.martono\ping.txt

for /f %%i in (c:\users\tejo.martono\ping.txt) do call :Sub %%i
Proses perulangan setiap baris dari file  c:\users\tejo.martono\ping.txt yang berisi list dari mesin atau IP yang akan di ping. Dan panggil sub dengan nama ":Sub".

notepad c:\users\tejo.martono\ping.txt
file "c:\users\tejo.martono\ping.txt" adalah log yang dibuat oleh batch ini. Baris ini akan memanggil notepad dan menampilkan isi file tersebut.

goto :eof
Keluar dari program.

:Sub
Menunjukkan sub bernama Sub yang dipergunakan untuk perulangan.

echo Testing %1
Tampilkan kelayar perintah yang telah dilaksanakan. Sebagai contoh "Testing 193.1.1.1"

set state=alive
Set nilai sementara bernama "state" yang bernilai "alive"

ping -n 1 %1 | find /i "bytes=" || set state=dead
Memanggil perintah eksekusi "PING". Jika anda ingin mengetahui lebih lanjut mengenai perintah ini, silahkan ketik PING /? dari cmd. Keluran dari perintah tersebut di batasi oleh "piped" untuk menemukan hal yang telah diabaikan sebelumnya (/i). Biasanya akan ditampilkan oleh perintah PING seperti text "bytes=" yang berarti IP atau mesin tersebut telah melakukan respon terhadap perintah PING. Jika text tidak ditemukan (perintah find gagal) kemudian nilai "state" berubah dari  "alive" menjadi "dead".

echo %1 is %state% >> c:\users\tejo.martono\ping.txt
Tampilkan IP atau Mesin beserta statusnya (dead or alive) serta simpan dalam file "c:\users\tejo.martono\ping.txt". dua buah tanda karakter ">" berarti outputnya akan membuat file baru daripada menimpa file yang sudah ada.

Tidak ada komentar:

Posting Komentar