rootbisnisAvatar border
TS
rootbisnis
[ASK] Php Mail Dengan Crond
Selamat siang, saya izin bertanya lagi yach Om
Maaf jika subjectnya agak kurang sesuai,

Cerita dikit,
Saya ada satu script yang berfungsi melakukan pengecekan down times, yang mana jika down timesnya sudah diatas 10 menit dia akan mengirim email pemberitahuan ke alamat yang telah ditentukan, script ini dijalankan auto dengan crond setiap 15 menit,
Nah pertanyaannya :
1. Bisa tidak yach untuk IP yang sama hanya sekali saya dikirim, misalnya gini :
------->>Pada saat pertama kali dijalankan dan ada 3 IP yg down misalnya : 192.168.0.2, 192.168.0.3 dan 192.168.0.4
lalu dikirim ke email IP yg down : 192.168.0.2, 192.168.0.3 dan 192.168.0.4
------->>Pada pengecekan kedua ada 4 IP yg down yaitu : 192.168.0.2, 192.168.0.3, 192.168.0.4 dan 192.168.0.5
lalu yg dikirim ke email hanya IP yg 192.168.0.5
------->>Pada pengecekan ketiga Ip yang down masih tetap : 192.168.0.2, 192.168.0.3, 192.168.0.4 dan 192.168.0.5
Maka tdk diproses kirim
------->>Pada pengecekan ke empat (setelah 1 jam (60 menit) down) dikirim lagi semua list IP yang down
misalnya : 192.168.0.2, 192.168.0.3, 192.168.0.4 dan 192.168.0.5
Kira2 apakah bisa seperti itu ga yach Om ?
2. tujuannya agar tidak terlalu banyak email Masuk jika IP yang down masih sama
Script yang berjalan skrg yaitu :
Code:
<?php
$skrg = date("Y-m-d H:i:s");
include("koneksi.php");
$waktu2 = time();
$t2 = new DateTime();
$t2->setTimestamp($waktu2);
$query = "select * from updown WHERE status = 'DOWN' AND groupname = 'Depan Rumah'";
$result = mysqli_query($mysqlId, $query);
$no = 0;
$msg = "";
while( list($id, $ipaddress, $apname, $status, $tglalive, $tgldown, $location, $typeap) = mysqli_fetch_row($result) ) {
$no++;
$stdout = "$no. IP Address: $ipaddress. AP Name: $apname. Location: $location. Down Times: $down ...";
$msg .= $stdout;
$waktu1 = "$tgldown";
$t1 = new DateTime($waktu1);
$dt = $t2->diff($t1);
$down = "";
$down .= $dt->d? $dt->d. " day ":"";
$down .= $dt->h? $dt->h. " hour ":"";
$down .= $dt->i? $dt->i. " minute ":"";
}
if ($down > "10 minute") {
$to = "report@gmail.com";
$subject = "Informasi Access Point Yang Down tanggal $skrg";
$body = "Berikut Informasi Access Point Yang Down Tanggal : $skrg \n\n".$msg."\n\n";
$additionalheaders = "From: <report@gmail.com>rn";
$additionalheaders .= "Reply-To: [email]report@gmail.com[/email]";
mail($to, $subject, $body, $additionalheaders);
}

?>


Sebelumnya terimakasih banyak atas bantuannya Om
Diubah oleh rootbisnis 23-12-2015 06:42
0
850
9
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Urutan
Terbaru
Terlama
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Komunitas Pilihan