Advertisement
hedjo1119

hitung fup

Jun 28th, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.94 KB | None | 0 0
  1. Creadit to om Agus R untuk script nya..
  2.  
  3. /system scheduler add interval="00:00:00" name="RXByte.log" on-event="1" start-time="00:00:00"
  4. /system scheduler add interval="00:00:00" name="RXByteCur.log" on-event="1" start-time="00:00:00"
  5. /system scheduler add interval="00:00:00" name="TXByte.log" on-event="1" start-time="00:00:00"
  6. /system scheduler add interval="00:00:00" name="TXByteCur.log" on-event="1" start-time="00:00:00"
  7. /system scheduler add interval="00:01:00" name="RESET-RXTX" start-time=startup
  8. /system scheduler add interval="00:0:030" name="BANDWIDTH-MONITORING" start-time=startup
  9.  
  10.  
  11.  
  12. Copy Paste Script reset bulanan ini dalam file Scheduler RESET-RXTX
  13.  
  14. ################################################################
  15. # Script by Agus Ramadhani
  16. # fb.com/buananet.pangkalanbun
  17. # http://www.o-om.com
  18. # SCRIPT MIKROTIK BANDWIDTH MONITORING
  19. # Version 1.0
  20. ################################################################
  21. # Fungsi untuk reset Bulanan Setiap tanggal 1
  22. ################################################################
  23. :local varDate;
  24. :local varDay;
  25. :set varDate [/system clock get date];
  26. :set varDay [:pick $varDate 4 6];
  27. :if ($varDay = "01") do={
  28. # jika har ini tanggal 1 reset RXTX ke nilai awal
  29. /system scheduler set RXByte.log comment="1" on-event="1"
  30. /system scheduler set RXByteCur.log comment="1" on-event="1"
  31. /system scheduler set TXByte.log comment="1" on-event=$RXByteCount
  32. /system scheduler set TXByteCur.log comment="1" on-event="1"
  33. /system scheduler disable [/system scheduler find name="RESET-RXTX"]
  34. }
  35. ################################################################
  36.  
  37.  
  38. Copy Paste Script Monitoring ini dalam file Scheduler BANDWIDTH-MONITORING
  39.  
  40. jangan lupa ganti nama ether dalam script sesuai interface masing2 yang ingin dipantau
  41. :local INTMon WAN-WARNET;
  42.  
  43. jangan Lupa ganti total quota yang diberikan ISP masing2 dicontoh adalah 500GB
  44. :local TOTQuota 500;
  45.  
  46. ################################################################
  47. # Script by Agus Ramadhani
  48. # fb.com/buananet.pangkalanbun
  49. # http://www.o-om.com
  50. # SCRIPT MIKROTIK BANDWIDTH MONITORING
  51. # Version 1.0
  52. ################################################################
  53. :local INTMon WAN-WARNET;
  54. # silahkan ganti dengan interface (ether) yang ingin dipantau
  55. :local TOTQuota 500;
  56. # Set total quota dalam GB misalkan ISP hanya memberi hanya 500GB
  57. ################################################################
  58. :local RXByteCur [/interface get $INTMon rx-byte];
  59. # Mengambil nilai RX-Byte saat ini pada interface terpilih
  60. ################################################################
  61. :local RXByteCount [/system scheduler get RXByteCur.log on-event];
  62. # Mengambil nilai RX-byte dalam file log RXByteCur
  63. ################################################################
  64. :local RXByte [/system scheduler get RXByte.log on-event];
  65. # Mengambil nilai RX-Byte sebelumnya dalam file log RXByte
  66. ################################################################
  67. :local TXByteCur [/interface get $INTMon tx-byte];
  68. # Mengambil nilai TX-Byte saat ini pada interface terpilih
  69. ################################################################
  70. :local TXByteCount [/system scheduler get TXByteCur.log on-event];
  71. # Mengambil nilai TX-Byte saat ini dalam file log TXByteCur
  72. ################################################################
  73. :local TXByte [/system scheduler get TXByte.log on-event];
  74. # Mengambil nilai TX-Byte saat ini dalam file Log TXByte
  75. ################################################################
  76. :local ifReboot 0;
  77. # kita perlu mengetahui apakah router reboot dengan memberi flag 0
  78. ################################################################
  79. :if ($RXByteCur>=$RXByteCount) do={} else={:set $ifReboot ($ifReboot+1);}
  80. :if ($TXByteCur>=$TXByteCount) do={} else={:set $ifReboot ($ifReboot+1);}
  81. # Tandai jika nilai RXTX-Byte saat ini lebih besar dari RXTX-Byte pada log
  82. ################################################################
  83. :if ($ifReboot>=1) do={
  84. # Cek Jika Router Rebbot
  85. ################################################################
  86. :set $RXByte ($RXByte+$RXByteCount);
  87. /system scheduler set RXByte.log comment=$RXByte on-event=$RXByte
  88. # jika komputer reboot jumlahkan total RX-Byte
  89. ################################################################
  90. :set $TXByte ($TXByte+$TXByteCount);
  91. /system scheduler set TXByte.log comment=$TXByte on-event=$TXByte
  92. } else={
  93. # jika komputer reboot jumlahkan total TX-Byte
  94. ################################################################
  95. }
  96. :set RXByteCount ($RXByteCur);
  97. /system scheduler set RXByteCur.log comment=$RXByteCount on-event=$RXByteCount
  98. # Perbaharui nilai RX-Byte saat ini pada file log RXByteCur
  99. ################################################################
  100. :set TXByteCount ($TXByteCur);
  101. /system scheduler set TXByteCur.log comment=$TXByteCount on-event=$TXByteCount
  102. # Perbaharui nilai TX-Byte saat ini pada file log TXByteCur
  103. ################################################################
  104. :local RXTot ($RXByte+$RXByteCur);
  105. :local RXMB ($RXTot / 1024 / 1024);
  106. :local RXGB ($RXTot  / 1024 / 1024 / 1024);
  107. # kalkulasi nilai RX-BYTE dalam MB dan GB
  108. ################################################################
  109. :local TXTot ($TXByte+$TXByteCur);
  110. :local TXMB ($TXTot / 1024 / 1024);
  111. :local TXGB ($TXTot / 1024 / 1024 / 1024);
  112. # kalkulasi nilai TX-BYTE dalam MB dan GB
  113. ################################################################
  114. :local RXTX ($RXTot+$TXTot);
  115. :local RXTXMB ($RXMB+$TXMB);
  116. :local RXTXGB ($RXGB+$TXGB);
  117. # Total kalkulasi nilai Total RXTX
  118. ################################################################
  119. :log warning "###############################################";
  120. :log warning "BANDWIDTH MONITORING [ Router: $[/system identity get name] ]";
  121. :log warning "###############################################";
  122. :log warning "Interface Monitoring For Ether: $INTMon";
  123. /interface monitor-traffic [/interface find name=$INTMon] once do={
  124. :local tx (tx-bits-per-second / 1024);
  125. :local rx (rx-bits-per-second / 1024);
  126. :log warning "Live Monitor RX = $rx kbps TX = $tx kbps";
  127. }
  128. # hanya untuk menampilkan rxtx saat ini
  129. ###############################################################
  130. :log warning "Total RX = $RXGB GB / $RXMB MB / $RXTot Bytes";
  131. :log warning "Total TX = $TXGB GB / $TXMB MB / $TXTot Bytes";
  132. :log warning "Total (RX+TX) = $RXTXGB GB / $RXTXMB MB / $RXTX Bytes";
  133. :local percent ($RXTXGB*100 / $TOTQuota);
  134. :log error "Used Quota on This Month = $RXTXGB GB = $percent% from $TOTQuota GB";
  135. :log warning "###############################################";
  136. # Tampilkan Info pada LOG Mikrotik
  137. ################################################################
  138. :local varDate;
  139. :local varDay;
  140. :set varDate [/system clock get date];
  141. :set varDay [:pick $varDate 4 6];
  142. :if ($varDay = "29") do={
  143. # jika har ini tanggal 29 aktfikan RESET-RXTX
  144. /system scheduler enable [/system scheduler find name="RESET-RXTX"];
  145. }
  146. ################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement