Menghapus Laporan Penjualan Mikhmon Otomatis Lebih Dari 3 Bulan
Sebagai pengguna Mikhmon untuk mengelola hotspot MikroTik, Anda mungkin sudah tidak asing lagi dengan laporan penjualan yang tercatat setiap transaksi voucher atau pengguna. Seiring berjalannya waktu, laporan-laporan ini bisa terkumpul dalam jumlah yang sangat banyak, apalagi jika tidak dihapus secara rutin. Laporan yang sudah berusia lebih dari tiga bulan, bahkan lebih lama lagi, sebenarnya tidak terlalu dibutuhkan lagi, namun tetap tersimpan di sistem dan bisa menghabiskan ruang penyimpanan. Selain itu, banyaknya laporan yang tidak terhapus juga bisa memperberat kinerja sistem, baik pada MikroTik maupun pada Mikhmon itu sendiri. Hal ini bisa menyebabkan sistem berjalan lebih lambat dan lebih sulit untuk mengelola data yang ada.
Karena itu, sangat penting untuk menghapus laporan penjualan yang sudah lama. Dengan melakukan pembersihan rutin setiap tiga bulan, Anda bisa menjaga performa MikroTik dan Mikhmon tetap optimal. Jika tidak, perangkat Anda akan terbebani oleh file yang tidak perlu, yang pada akhirnya bisa memperlambat proses dan membebani sistem. Tidak hanya itu, semakin lama laporan tersebut tersimpan, semakin besar kemungkinan Anda kehabisan ruang penyimpanan, yang tentunya akan mengganggu jalannya operasi hotspot Anda.
Jadi, untuk menghindari masalah tersebut, Anda bisa menghapus laporan-laporan yang lebih lama dengan menggunakan skrip otomatis pada MikroTik. Skrip ini akan memeriksa laporan penjualan yang sudah lebih dari tiga bulan dan menghapusnya secara otomatis, tanpa perlu campur tangan manual. Pastikan Anda memeriksa dan menggunakan skrip sesuai dengan versi RouterOS yang Anda gunakan agar prosesnya berjalan dengan lancar. Berikut adalah pilihan skrip yang bisa Anda gunakan sesuai dengan versi RouterOS Anda:
ROS v6
:local date [/system clock get date];
:local montharray {"jan";"feb";"mar";"apr";"may";"jun";"jul";"aug";"sep";"oct";"nov";"dec"};
:local year [:pick $date 7 11];
:local month [:pick $date 0 3];
:local day [:tonum [:pick $date 4 6]];
:local monthint ([:find $montharray $month] + 1);
:local cutoffMonth ($monthint - 3);
:local cutoffYear $year;
# Jika bulan 3 bulan lalu lebih kecil dari 1, pindah ke tahun sebelumnya
:if ($cutoffMonth < 1) do={
:set cutoffMonth ($cutoffMonth + 12);
:set cutoffYear ($year - 1);
}
:local cutoffMonthName [:pick $montharray ($cutoffMonth - 1)];
:log info "Menyimpan laporan dari $cutoffMonthName $cutoffYear ke depan.";
# Periksa semua script yang ada
:foreach script in=[/system script find] do={
:local scriptOwner [/system script get $script owner];
# Periksa apakah nama owner memiliki format yang valid (3 huruf bulan + 4 angka tahun)
:if (([:len $scriptOwner] = 7) && ([:find $montharray [:pick $scriptOwner 0 3]] >= 0) && ([:tonum [:pick $scriptOwner 3 7]] >= 2000)) do={
# Ambil bulan dan tahun dari nama laporan
:local reportMonth [:pick $scriptOwner 0 3];
:local reportYear [:pick $scriptOwner 3 7];
# Konversi bulan ke indeks
:local reportMonthInt ([:find $montharray $reportMonth] + 1);
# Cek jika laporan lebih lama dari batas cutoff
:if (($reportYear < $cutoffYear) || (($reportYear = $cutoffYear) && ($reportMonthInt < $cutoffMonth))) do={
:log info "Menghapus laporan lama: $scriptOwner";
/system script remove $script;
}
} else={
:log info "Melewati script tanpa format laporan: $scriptOwner";
}
}
:local montharray {"jan";"feb";"mar";"apr";"may";"jun";"jul";"aug";"sep";"oct";"nov";"dec"};
:local year [:pick $date 7 11];
:local month [:pick $date 0 3];
:local day [:tonum [:pick $date 4 6]];
:local monthint ([:find $montharray $month] + 1);
:local cutoffMonth ($monthint - 3);
:local cutoffYear $year;
# Jika bulan 3 bulan lalu lebih kecil dari 1, pindah ke tahun sebelumnya
:if ($cutoffMonth < 1) do={
:set cutoffMonth ($cutoffMonth + 12);
:set cutoffYear ($year - 1);
}
:local cutoffMonthName [:pick $montharray ($cutoffMonth - 1)];
:log info "Menyimpan laporan dari $cutoffMonthName $cutoffYear ke depan.";
# Periksa semua script yang ada
:foreach script in=[/system script find] do={
:local scriptOwner [/system script get $script owner];
# Periksa apakah nama owner memiliki format yang valid (3 huruf bulan + 4 angka tahun)
:if (([:len $scriptOwner] = 7) && ([:find $montharray [:pick $scriptOwner 0 3]] >= 0) && ([:tonum [:pick $scriptOwner 3 7]] >= 2000)) do={
# Ambil bulan dan tahun dari nama laporan
:local reportMonth [:pick $scriptOwner 0 3];
:local reportYear [:pick $scriptOwner 3 7];
# Konversi bulan ke indeks
:local reportMonthInt ([:find $montharray $reportMonth] + 1);
# Cek jika laporan lebih lama dari batas cutoff
:if (($reportYear < $cutoffYear) || (($reportYear = $cutoffYear) && ($reportMonthInt < $cutoffMonth))) do={
:log info "Menghapus laporan lama: $scriptOwner";
/system script remove $script;
}
} else={
:log info "Melewati script tanpa format laporan: $scriptOwner";
}
}
ROS v7
:local date [/system clock get date];
:local montharray {"jan";"feb";"mar";"apr";"may";"jun";"jul";"aug";"sep";"oct";"nov";"dec"};
:local year [:tonum [:pick $date 0 4]];
:local monthint [:tonum [:pick $date 5 7]];
:local day [:tonum [:pick $date 8 10]];
:local cutoffMonth ($monthint - 3);
:local cutoffYear $year;
# Jika bulan 3 bulan lalu lebih kecil dari 1, pindah ke tahun sebelumnya
:if ($cutoffMonth < 1) do={
:set cutoffMonth ($cutoffMonth + 12);
:set cutoffYear ($year - 1);
}
:local cutoffMonthName [:pick $montharray ($cutoffMonth - 1)];
:log info "Menyimpan laporan dari $cutoffMonthName $cutoffYear ke depan.";
# Periksa semua script yang ada
:foreach script in=[/system script find] do={
:local scriptOwner [/system script get $script owner];
# Periksa apakah nama owner memiliki format yang valid (3 huruf bulan + 4 angka tahun)
:if (([:len $scriptOwner] = 7) && ([:find $montharray [:pick $scriptOwner 0 3]] >= 0) && ([:tonum [:pick $scriptOwner 3 7]] >= 2000)) do={
# Ambil bulan dan tahun dari nama laporan
:local reportMonth [:pick $scriptOwner 0 3];
:local reportYear [:tonum [:pick $scriptOwner 3 7]];
# Konversi bulan ke indeks
:local reportMonthInt ([:find $montharray $reportMonth] + 1);
# Cek jika laporan lebih lama dari batas cutoff
:if (($reportYear < $cutoffYear) || (($reportYear = $cutoffYear) && ($reportMonthInt < $cutoffMonth))) do={
:log info "Menghapus laporan lama: $scriptOwner";
/system script remove $script;
}
} else={
:log info "Melewati script tanpa format laporan: $scriptOwner";
}
}
:local montharray {"jan";"feb";"mar";"apr";"may";"jun";"jul";"aug";"sep";"oct";"nov";"dec"};
:local year [:tonum [:pick $date 0 4]];
:local monthint [:tonum [:pick $date 5 7]];
:local day [:tonum [:pick $date 8 10]];
:local cutoffMonth ($monthint - 3);
:local cutoffYear $year;
# Jika bulan 3 bulan lalu lebih kecil dari 1, pindah ke tahun sebelumnya
:if ($cutoffMonth < 1) do={
:set cutoffMonth ($cutoffMonth + 12);
:set cutoffYear ($year - 1);
}
:local cutoffMonthName [:pick $montharray ($cutoffMonth - 1)];
:log info "Menyimpan laporan dari $cutoffMonthName $cutoffYear ke depan.";
# Periksa semua script yang ada
:foreach script in=[/system script find] do={
:local scriptOwner [/system script get $script owner];
# Periksa apakah nama owner memiliki format yang valid (3 huruf bulan + 4 angka tahun)
:if (([:len $scriptOwner] = 7) && ([:find $montharray [:pick $scriptOwner 0 3]] >= 0) && ([:tonum [:pick $scriptOwner 3 7]] >= 2000)) do={
# Ambil bulan dan tahun dari nama laporan
:local reportMonth [:pick $scriptOwner 0 3];
:local reportYear [:tonum [:pick $scriptOwner 3 7]];
# Konversi bulan ke indeks
:local reportMonthInt ([:find $montharray $reportMonth] + 1);
# Cek jika laporan lebih lama dari batas cutoff
:if (($reportYear < $cutoffYear) || (($reportYear = $cutoffYear) && ($reportMonthInt < $cutoffMonth))) do={
:log info "Menghapus laporan lama: $scriptOwner";
/system script remove $script;
}
} else={
:log info "Melewati script tanpa format laporan: $scriptOwner";
}
}
Secara keseluruhan, mengelola laporan penjualan di Mikhmon bukan hanya soal mencatat transaksi, tetapi juga menjaga agar sistem tetap efisien dan berjalan lancar. Tanpa pengelolaan yang baik, laporan-laporan yang tidak terhapus secara rutin bisa menumpuk, memperberat kinerja MikroTik dan Mikhmon, serta memboroskan ruang penyimpanan yang seharusnya bisa digunakan untuk data yang lebih penting. Jika dibiarkan, hal ini tidak hanya akan memperlambat kinerja perangkat Anda, tetapi juga bisa mengganggu operasional hotspot secara keseluruhan. Sistem yang lambat, kesulitan mengakses data, dan bahkan kerusakan akibat ruang penyimpanan yang penuh adalah beberapa masalah yang bisa muncul jika laporan penjualan lama tidak segera dihapus.
Dengan melakukan pembersihan secara rutin setiap tiga bulan, Anda dapat memastikan bahwa Mikhmon dan MikroTik berfungsi dengan optimal. Selain itu, Anda juga dapat mengurangi kemungkinan terjadinya masalah teknis yang disebabkan oleh penumpukan data yang tidak terpakai. Skrip otomatis yang akan menghapus laporan penjualan lama ini memberikan cara yang sangat praktis dan efisien untuk menjaga kebersihan dan kelancaran sistem Anda. Proses pembersihan ini akan menghemat waktu dan tenaga, serta mencegah kebutuhan untuk melakukan pembersihan manual yang memakan banyak waktu dan berisiko terlupakan.
Tidak hanya itu, dengan menjaga sistem tetap bersih dan terorganisir, Anda juga akan mendapatkan performa yang lebih baik saat menjalankan hotspot. Hal ini tentunya akan sangat menguntungkan, baik dari segi pengalaman pengguna yang lebih lancar maupun pengelolaan data yang lebih mudah. Jadi, jika Anda ingin Mikhmon dan MikroTik Anda bekerja secara maksimal, mengikuti tutorial ini untuk menghapus laporan penjualan lama secara rutin adalah langkah yang sangat penting dan sangat layak untuk dipraktekkan. Dengan sedikit usaha di awal, Anda bisa menghindari masalah besar di masa depan dan memastikan hotspot Anda tetap berjalan dengan baik, efisien, dan bebas hambatan.
0 Response to "Menghapus Laporan Penjualan Mikhmon Otomatis Lebih Dari 3 Bulan"
Posting Komentar