Tuesday, April 25, 2017

Script Mikrotik Hotspot Quota Harian 1GB


Pemirsa, kali ini ada script untuk membuat limit harian 1GB dan setelah 30 hari akan diskonek pada hotspot mikrotik.

=== kuota 1GB per hari, expired 30 hari ===
on login script :
{
:local usernya $user;
:if ([/ip hotspot user find name=$usernya limit-bytes-total=1000000]="") do={/ip hotspot user set [find name=$usernya] limit-bytes-total=1000000};
:if ([/system schedule find name=$usernya]="") do={
/system schedule add name=$usernya interval=30d on-event="/ip hotspot user disable [find name=$usernya]\r\n/ip hotspot active remove [find user=$usernya]\r\n/system schedule remove [find name=$usernya-reset-counter]\r\n/system schedule remove [find name=$usernya]"
}
:if ([/system schedule find name="$usernya-reset-counter"]="") do={
/system schedule add name="$usernya-reset-counter" interval=1d on-event="/ip hotspot user reset-counter [find name=$usernya]"
}
}

Script diatas tambahkan pada hotspot on login script

Semoga bermanfaat.

Sunday, April 9, 2017

Script Mount Flashdisk


Ada kasus, dimana saya buatkan samba server. Nah ketika flashdisk / hdd external ditancapkan ke pc samba yangmana samba tadi tanpa diinstall desktop, hanya CLI / Console Mode, sedangkan operator warnet ngga mungkin kan login, fdisk -l jelas ribet.

Nah di sini saya buatkan script untuk mount ke flashdisk. berikut scriptnya mount.sh dan penjelasannya


fdisk -l |grep -e "/dev/sd[c-z]" | awk '{print $1}' > /tmp/diskdeviceoutput
sdx=$(cat /tmp/diskdeviceoutput | grep sd)
echo "Mounting $sdx"
mount $sdx /flashdisk
untuk detektornya tetep saya pilih fdisk -l, sebenernya bisa juga sih pake dmesg, tapi untuk verifikasinya lebih ribet, kalo fdisk -l jelas, apa yang tertancap disitu jelas flashdisk baru.

Script di atas maksudnya adalah memfilter fdisk -l dimana flashdisk yang masuk bernama /dev/sdc1 bisa juga /dev/sdd1 dan seterusnya, dan itu ganti ganti. Itulah kenapa saya filter dengan grep -e "/dev/sd[c-z]" yang artinya menampilkan /dev/sd(c sampai z) lalu di filter lagi dengan awk dimana $1 adalah kolom paling kiri kemudian ditulis dalam file /tmp/diskdeviceoutput. Nah dari situ nanti dijadiin variabel sdx untuk mount ke /flashdisk.

Tinggal nanti dipanggil dari windows pake plink.exe -l USER -pw PASS 192.168.88.3 /home/user/mount.sh