Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*incluir configuracion de freeradius (parametros, mysql,etc)*/
- require(dirname(__FILE__).'/config.php');
- error_reporting(E_ERROR);
- ini_set("log_errors", 1);
- ini_set("error_log", "error_desconectar_log");
- /*Dias hacia atras que se ejecutará el kikeo*/
- $diasAtras = 1;
- if($diasAtras < 1 || !is_null($diasAtras)){
- $diasAtras = 1;
- }
- $mysql = mysql_connect($freeradius_db_host, $freeradius_db_username, $freeradius_db_password);
- $conn = mysql_select_db($freeradius_db_database);
- if (!$conn) {
- error_log( "No se pudo conectar a la base de datos: " . mysql_error() . "\n" );
- die( "No se pudo conectar a la base de datos: " . mysql_error() . "\n" );
- }
- /*query para tomar en cuenta solamente los usuarios con cuenta suspendida, entre el dia actual y el dia de ayer*/
- $radcheck_q = mysql_query("SELECT username
- FROM radcheck
- WHERE id IN (
- SELECT MAX(id)
- FROM radcheck WHERE LOWER(attribute) = 'expiration'
- AND
- (CURDATE() = STR_TO_DATE(value, '%d %M %Y') OR DATE_ADD(CURDATE(), INTERVAL -".$diasAtras." DAY) <= STR_TO_DATE(value, '%d %M %Y'))
- GROUP BY username
- )");
- if(mysql_num_rows($radcheck_q) > 0) {
- $radius_users = array();
- while($radcheck = mysql_fetch_array($radcheck_q)) {
- /*guardar ususarios con cuneta suspendida, resultado del query*/
- array_push($radius_users,$radcheck['username']);
- }
- /*por cada ususario, intentamos desconectar via vpncmd la cuenta*/
- foreach($radius_users as $user) {
- exec('/usr/local/vpnserver/vpncmd 190.110.124.156 /SERVER /HUB:vpn /PASSWORD:vpnserver3 /CMD sessionlist | grep "Session Name" | awk -F \'|\' \'{print $2}\' | grep '.strtoupper($user).' | xargs /usr/local/vpnserver/vpncmd 190.110.124.156 /SERVER /HUB:vpn /PASSWORD:vpnserver3 /CMD sessiondisconnect',$salida);
- if(strtolower(trim($salida[count($salida)-2])) == 'sessiondisconnect command - disconnect session'){
- /*si todo esta ok, nada por ahora........*/
- } else {
- /*escribir error en log*/
- error_log("Error al desconectar ususario: ".$user." - detalle error: \n\t ".print_r($salida));
- }
- }
- } else {
- echo "Ningun usuario disponible para desconectar.";
- }
- mysql_close($mysql);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement