Скрипт поиска дубликатов MAC в базе

21.09.2018 50 AdminZ / Mikbill

Скрипт поиска дубликатов MAC в базе
Скрипт поиска дубликатов mac адресов в базе данных

Создаем php файл
nano /var/www/mikbill/admin/dmac.php

с таким содержанием:
<?php

$config_file='/var/www/mikbill/admin/app/etc/config.xml';
if (file_exists($config_file)) {
    $xml = simplexml_load_file($config_file);
    $TIME_ZONE           = (string) $xml->parameters->timezone;
    $CONF_MYSQL_HOST     = (string) $xml->parameters->mysql->host;
    $CONF_MYSQL_USERNAME = (string) $xml->parameters->mysql->username;
    $CONF_MYSQL_PASSWORD = (string) $xml->parameters->mysql->password;
    $CONF_MYSQL_DBNAME   = (string) $xml->parameters->mysql->dbname;

} else {
    die("config not found");
}

if(isset($TIME_ZONE))
    date_default_timezone_set($TIME_ZONE);
else
    date_default_timezone_set('Europe/Kiev');

$db = new PDO( "mysql:host={$CONF_MYSQL_HOST};dbname={$CONF_MYSQL_DBNAME}", $CONF_MYSQL_USERNAME, $CONF_MYSQL_PASSWORD, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES koi8r") );

$SQL_QUERY = "SELECT uid, local_mac FROM users WHERE local_mac != '' GROUP BY local_mac HAVING COUNT( local_mac )>1";

$res = $db->query($SQL_QUERY, PDO::FETCH_LAZY);

if($res->rowCount() > 0)
{
    foreach ($res as $row)
    {
        echo "Duplicate MAC:{$row["local_mac"]} <br/>";
    }
} else {
    echo "Duplicate not found";
}

И не забудьте выставить права на файлы:
# chown -R www:www dmac.php