Advertisement

Basic Scripting diMikroTik

Skrip merupakan bahasa pemrograman yang menyediakan fasilitas penerjemahan serta kompilasi kode dalam satu rangkaian proses secara integratif sehingga memungkinkan kode dibuat dapat langsung dijalankan sebagai program secara dinamis.

Fungsi script
- Memaintenance task beberapa router
- Mengeksekusi perintah konsol berdasarkan waktu atau event
- Menaikkan kecepatan task pada sebuah router
- Script terdiri dari perintah konfigurasi dan expresi (ICE = internal console expression)

Bagaimana menulis script
- Mengunakan /system/script menu
Contoh : /system script add name=test source = {:log info”heloo world !” }
- Menulis langsung dikonsol
Contoh : [admin@bigdream]>:log info”hello world!”

Sintaks perintah console
- Prefix = perintah expression seperti pada root level
  [admin@MikroTik] > ip dns /ping 192.168.3.1
  [admin@MikroTik] /log> ..
- Path = Relative path ke menu level
  [admin@MikroTik] /ip firewall mangle> ..
  [admin@MikroTik] /ip firewall>
- Path_args
- Action
  Seperti add – action =ip firewall filter add chain=forward
- Name[=value]
  /interface wireless set wlan1 ssid=Dream

Contoh perintah console
- /ping 10.0.0.1 count=6
 Prefix= /
 Action=ping
 Unamed parameter= 10.0.0.1
 Name[=value]= count=6
- .. Ip firewall rule input
 Path= ..ip firewall rule
 Path_args = input
- :for I from=1 to=10 do {:put $i}
 Prefix= :
 Action = for
 Unnamed parameter= I
 Pname[=value] = from=1 to=10 do {:put $i}
- /interface monitor-traffic ether1,ether2,ether3,vlan
 Prfefix= /
 Path = interface
 Action = monitor-traffic
 Unnamed parameter = ether1,ether2,ether3,vlan

Berhitung dgn script
- [admin@MikroTik] > :put (1+2)
3
- [admin@MikroTik] > :put (43-3)
40
- [admin@MikroTik] > :put (43*3)
129
- [admin@MikroTik] > : put (45+23+1)
69
- [admin@MikroTik] > : put ( 10 / 2 )
5

Perintah :
- [admin@MikroTik] > :
environment do for len parse set toid tostr
terminal error foreach local pick time toip totime
beep execute global log put toarray toip6 typeof
delay find if nothing resolve tobool tonum while

Menulis script via winbox

Bagaimana menjalankan script
- Perintah run
 /system script run test
- Menambahkan nama script pada tool task
 /system scheduler add name=test on-event=test interval=10s
- Dimana saja dari konsol

 :put “ hai”

Mengedit script
- Menggunakan perintah set
 /system script set script_name source={…}
- Menggunakan editor
 /system script edit script_name source
- Full screen editor tidak jalan di single line mode

Monitoring script
- Mengecek script counter dengan perintah print
 /system script print
- Melihat jalannya script
 /system script job print

Variable dalam script
- Mengunakan simbol $
- Global= system wide
 :global a ; :set a 5; :put $a
- Local
 :local e; :set e 11 :put $e
- Loop
 :foreach s in 1,2,3 do={put $s}
- Monitoring
 /interface eth1 monitor ether1 do={:put $status}

Contoh penggunaan variable
- [admin@MikroTik] > :global g1 "BigDream mau belajar variabel"
- [admin@MikroTik] > :put $g1 BigDream mau belajar variabel
- [admin@MikroTik] > : global g2 "hi"
- [admin@MikroTik] > :global g1 g2

Tipe data
- List
- Internal number
- Number
- IP address
- Time
- Boolen
- string

Konversi tipe data
- Fungsi untuk konversi data adalah
 toarray
 tobool
 toid
 toip
 tonum
 tostr
 totime

Perintah Get dan find
- Get
- [admin@MikroTik] > :put [/ip address get 0 address] 12.12.12.5/24
- Find
- [admin@MikroTik] > /interface enable [find type=ether]

Contoh tipe data
- Hexadesimal
[admin@MikroTik] > :global var 0x10
[admin@MikroTik] > :put $var
16
- Waktu
[admin@MikroTik] > :put 2d11h12
2d11:00:12
- Waktu dengan desimal
[admin@MikroTik] > :put 0.1d1.4s
0.1d1.4s
- [admin@MikroTik] > : beep
- [admin@MikroTik] > : beep length=2s frequency=10000

Script Editor
- Digunakan untuk merubah script
- [admin@MikroTik] > sys scr add name=aku
- [admin@MikroTik] > sys scr pr
- Flags: I - invalid
- 0 name="tes" owner="admin"
policy=ftp,reboot,read,write,policy,test,winbox,password,sniff run-count=0 source=:log info " weleh-weleh "
- 1 name="nico" owner="admin"
policy=ftp,reboot,read,write,policy,test,winbox,password,sniff run-count=0 source=:put "heloo aku disini"
- 2 name="aku" owner="admin"
policy=ftp,reboot,read,write,policy,test,winbox,password,sniff run-count=0 source=""
- [admin@MikroTik] > sys scr edit
- number: 2
- value-name: source

Script editor di winbox

Post a Comment

0 Comments