Merhaba, bir çok arkadaşın işini kolaylaştıracak şekilde hazırladığımız log temizleme dosyasını sizlerle paylaşıyorum..

İlgili kodları istediğiniz isimle ana dizine atarak clear.php günde 1 kez şekilde çalışıcak cron oluşturmanız yeterlidir. Veri tabanı bağlantı bilgilerinizi girip, temizleme sonrası bildirimin geleceği eposta adresiniz giriniz. İşlem Tamamdır.

<?php
// NETZEN BİLGİ TEKNOLOJİLERİ
// WWW.NETZEN.COM.TR - WWW.NETZEN.NET.TR
// LOG CLEAR
require_once("init.php");
mysql_query("TRUNCATE TABLE tblactivitylog");
mysql_query("TRUNCATE TABLE tblmodulelog");
mysql_query("TRUNCATE TABLE tblwhoislog");
mysql_query("TRUNCATE TABLE tbladminlog");
mysql_query("TRUNCATE TABLE tblgatewaylog");
mysql_query("TRUNCATE TABLE tblticketlog");
mysql_query("TRUNCATE TABLE tblioncube_file_log");
mysql_query("TRUNCATE TABLE tblupdatelog");
    
$host = 'localhost';
$dbname = 'XXXXXX';
$dbuser = 'XXXXXXX';
$dbpass = 'XXXXXXXX';

$to = 'info@netzen.com.tr'; // Mail bildirimi
    
function MailNotice($subject, $message) {
    global $to;
    $message = wordwrap($message, 70, "rn");
    if (!mail($to, $subject, $message)) {
        error_log('E-Posta Gönderirken Hata Oluştu: ' . $message);
    }
}
$date = date('Y-m-d', strtotime('-2 weeks'));

$sql = "DELETE FROM tbllog_register WHERE created_at < :date";
try {
    $dbh = new PDO('mysql:host=' . $host . ';dbname=' . $dbname, $dbuser, $dbpass);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sth = $dbh->prepare($sql);
    $sth->bindParam(':date', $date);
    $sth->execute();
    $deleted = $sth->rowCount();
    MailNotice('Whmcs Temizleme Bildirimi', 'Log temizleme başarılı, silinen ' . $deleted . ' kayıt.');
} catch(PDOException $e) {
    MailNotice('PDO Hata Satır 52', $e->getMessage() . ' with sql = ' . $sql);
}
?>