:global iface ether1
:global trafikawal
:global trafik
# reset tanggal 1
#/system ntp client set primary-ntp=[:resolve id.pool.ntp.org] enabled=yes
#/system clock set time-zone-name="Asia/Jakarta"
:local date [/system clock get date]
:local tanggal [ :pick $date 4 6 ]
#:log warning $tanggal
:if ($tanggal = 1) do={:set trafikawal 0}
:set trafikawal [/interface get [find name=$iface] tx-byte]
:if ($trafikawal > 1073741824) do={
:set trafik ($trafikawal / 1073741824)
:set trafik ($trafik." GB")
} else={
:set trafik ($trafikawal / 1048576)
:set trafik ($trafik." MB")
}
:log warning "trafik $iface = $trafik"
/in ethernet set $iface comment="$trafikawal"
Nah, setelah diteliti lagi, ternyata script diatas masih ada kekurangan, yaitu ketika perangkat reboot, kereset jadi 0, akhirnya gw ubah jadi revisi scriptnya begini
:global iface ether1
:global trafikFresh
:global trafikSave
:global trafikBit
:global trafikBytes
:global trafikTotal
:local date [/system clock get date]
:local tanggal [ :pick $date 4 6 ]
#:log warning $tanggal
:if ($tanggal = 1) do={:set trafikBit 0}
# jika direboot ambil dari comment interface
:if ([:len $trafikFresh ] = 0) do={
:set trafikSave [/interface get [find name=$iface] comment]
# catat ke variable
:set trafikFresh [/interface get [find name=$iface] tx-byte]
:set trafikTotal ([:tonum $trafikSave] + [:tonum $trafikFresh])
:set trafikBit $trafikTotal
} else={
:set trafikBit [/interface get [find name=$iface] tx-byte]
:set trafikTotal ([:tonum $trafikSave] + [:tonum $trafikBit])
}
# jika ukuran gigabyte
:if ($trafikTotal > 1073741824) do={
:set trafikBytes ($trafikTotal / 1073741824)
:set trafikBytes ($trafikBytes." GB")
} else={
:set trafikBytes ($trafikTotal / 1048576)
:set trafikBytes ($trafikBytes." MB")
}
:log warning "trafik $iface = $trafikBytes"
/in ethernet set $iface comment="$trafikTotal"
mas maaf script yang revisi sudah berhasil menyimpan data pemakaian tetapi tiap tanggal 1 masih blm bisa otomatis ter reset
ReplyDelete