Search
Search
Search
Search
Information
Information
Light
Dark
Open actions menu
Basic upload method
Bypass upload method
Tips!
If you encounter an error (by firewall) while uploading using both methods,
try changing extension of the file before uploading it and rename it right after.
This uploader supports multiple file upload.
Submit
~
scripts
File Content:
diskusage.php
<?php include_once('/etc/sentora/panel/cnf/database.php'); include_once('/etc/sentora/panel/dryden/db/driver.class.php'); include_once('/etc/sentora/panel/dryden/runtime/xss.class.php'); include_once('/etc/sentora/panel/dryden/runtime/sanatizeItem.class.php'); include_once('/etc/sentora/panel/dryden/ctrl/options.class.php'); include_once('/etc/sentora/panel/dryden/runtime/controller.class.php'); include_once('/etc/sentora/panel/dryden/runtime/hash.class.php'); include_once('/etc/sentora/panel/dryden/ctrl/auth.class.php'); include_once('/etc/sentora/panel/dryden/fs/director.class.php'); include_once('/etc/sentora/panel/dryden/fs/filehandler.class.php'); include_once('/etc/sentora/panel/dryden/runtime/dataobject.class.php'); include_once('/etc/sentora/panel/dryden/runtime/hook.class.php'); include_once('/etc/sentora/panel/dryden/debug/logger.class.php'); include_once('/etc/sentora/panel/dryden/sys/versions.class.php'); include_once('/etc/sentora/panel/dryden/ctrl/users.class.php'); include_once('/etc/sentora/panel/dryden/sys/bandwidth.class.php'); try { // $zdbh = new db_driver("mysql:host=" . $host . ";dbname=" . $dbname . "", $user, $pass); $dsn = "mysql:dbname=$dbname;$ovi_socket_path"; $zdbh = new db_driver($dsn, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'")); $zdbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { exit(); } /*Kesav Code Start for Server Load*/ $load = sys_getloadavg(); if ($load[0] < 10) { echo "Server Load Less than 10: ".$load[0]."\n"; /*Kesav Code End*/ ///////////////////////////////////// Mysql DB check Start //////////////////////////////////////// $z_db_user = $user; $z_db_pass = $pass; $mysqlsql = $zdbh->query("SELECT my_id_pk, my_name_vc FROM x_mysql_databases WHERE my_deleted_ts IS NULL"); while ($database = $mysqlsql->fetch()) { // SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'DBName' try { $currentdb = new db_driver("mysql:host=$host;dbname=" . $database['my_name_vc'] . "", $z_db_user, $z_db_pass); $currentdb->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbsize = $currentdb->query("SHOW TABLE STATUS"); $dbgetsize = 0; while ($row = $dbsize->fetch()) { $dbgetsize = $dbgetsize + ($row['Data_length'] + $row['Index_length']); } //$zdbh->query("UPDATE x_mysql_databases SET my_usedspace_bi = '" . $dbgetsize . "' WHERE my_id_pk =" . $database['my_id_pk'] . ""); echo fs_filehandler::NewLine() . "START Calculating disk Usage for all databases.." . fs_filehandler::NewLine(); $numrows = $zdbh->prepare("UPDATE x_mysql_databases SET my_usedspace_bi = :dbgetsize WHERE my_id_pk =:my_id_pk"); $numrows->bindParam(':dbgetsize', $dbgetsize); $numrows->bindParam(':my_id_pk', $database['my_id_pk']); $numrows->execute(); echo fs_filehandler::NewLine() . "Database usage for the database ".$database['my_name_vc']." is ".$dbgetsize. fs_filehandler::NewLine(); } catch(Exception $e) { echo 'Message: ' .$e->getMessage(); } //echo "Database found: " . $database['my_name_vc'] . " - " . $dbgetsize . " \n"; } /////////////////////////////////////////////// Mysql DB check End //////////////////////////////////////////////// ////////////////////////////////////// Mailbox size calculate Start ////////////////////////////////////////// */ echo fs_filehandler::NewLine() . "Email usage calculation start " . fs_filehandler::NewLine(); $sql = "SELECT * FROM x_mailboxes WHERE mb_deleted_ts IS NULL ORDER BY mb_address_vc ASC"; $sql = $zdbh->prepare($sql); //$sql->bindParam(':userid', $currentuser['userid']); $sql->execute(); while ($rowmailboxes = $sql->fetch()) { /*kesavan code for memory*/ $mail_input = $rowmailboxes['mb_address_vc']; $maill_array = explode( '@', $mail_input ) ; $path = "/var/sentora/vmail/"; $mail_path = $maill_array[0]; $domain_path = $maill_array[1]; $total = $path."".$domain_path."/".$maill_array[0]; $size = shell_exec("du -s -c -L -P $total | cut -f1 | awk '{print $1; exit}'"); echo fs_filehandler::NewLine() . "Email usage for the mailid ".$mail_input." is ".$size . fs_filehandler::NewLine(); $updatesql = $zdbh->prepare("UPDATE x_mailboxes SET mb_size = :size WHERE mb_address_vc =:mail"); $updatesql->bindParam(':size', $size); $updatesql->bindParam(':mail', $mail_input); $updatesql->execute(); /*End*/ } /* ////////////////////////////// Mailbox size calculate End //////////////////////////// */ /* * Calculate the home directory size for each 'active' user account on the server. */ $userssql = $zdbh->query("SELECT ac_id_pk, ac_user_vc FROM x_accounts WHERE ac_deleted_ts IS NULL"); echo fs_filehandler::NewLine() . "START Calculating disk Usage for all client accounts.." . fs_filehandler::NewLine(); $dir_change = 0; while ($userdir = $userssql->fetch()) { $homedirectory = ctrl_options::GetSystemOption('hosted_dir') . $userdir['ac_user_vc']; $size = 0; if (fs_director::CheckFolderExists($homedirectory)) { // $size = fs_director::GetDirectorySize($homedirectory); $size = shell_exec("du -s -b -L -P $homedirectory"); } $currentuser = ctrl_users::GetUserDetail($userdir['ac_id_pk']); $diskquota = $currentuser['diskquota']; $diskspace = ctrl_users::GetQuotaUsages('manageclientcurrentdisk', $userdir['ac_id_pk']); //echo "$diskquota diskspace ".$userdir['ac_user_vc']." : $diskspace \n"; $numrows = $zdbh->prepare("SELECT COUNT(*) AS total FROM x_bandwidth WHERE bd_month_in = :date AND bd_acc_fk = :ac_id_pk"); $date = date("Ym"); $numrows->bindParam(':date', $date); $numrows->bindParam(':ac_id_pk', $userdir['ac_id_pk']); $numrows->execute(); $checksql = $numrows->fetch(); if ($checksql['total'] == 0) { $numrows3 = $zdbh->prepare("INSERT INTO x_bandwidth (bd_acc_fk, bd_month_in, bd_transamount_bi, bd_diskamount_bi, bd_diskover_in, bd_diskcheck_in, bd_transover_in, bd_transcheck_in ) VALUES (:ac_id_pk,:date,0,0,0,0,0,0);"); $date = date("Ym"); $numrows3->bindParam(':date', $date); $numrows3->bindParam(':ac_id_pk', $userdir['ac_id_pk']); $numrows3->execute(); } $updatesql = $zdbh->prepare("UPDATE x_bandwidth SET bd_diskamount_bi = :size WHERE bd_acc_fk =:ac_id_pk"); $updatesql->bindParam(':size', $size); $updatesql->bindParam(':ac_id_pk', $userdir['ac_id_pk']); $updatesql->execute(); $numrows = $zdbh->prepare("SELECT * FROM x_bandwidth WHERE bd_month_in = :date AND bd_acc_fk = :ac_id_pk"); $date = date("Ym"); $numrows->bindParam(':date', $date); $numrows->bindParam(':ac_id_pk', $userdir['ac_id_pk']); $numrows->execute(); $checksize = $numrows->fetch(); if ($checksize['bd_diskamount_bi'] > $currentuser['diskquota']) { $updatesql = $zdbh->prepare("UPDATE x_bandwidth SET bd_diskover_in = 1 WHERE bd_acc_fk =:ac_id_pk"); $updatesql->bindParam(':ac_id_pk', $userdir['ac_id_pk']); $updatesql->execute(); } else { $updatesql = $zdbh->prepare("UPDATE x_bandwidth SET bd_diskover_in = 0 WHERE bd_acc_fk =:ac_id_pk"); $updatesql->bindParam(':ac_id_pk', $userdir['ac_id_pk']); $updatesql->execute(); } if($diskquota != 0){ $disk_check = $zdbh->prepare("SELECT * FROM x_vhosts WHERE vh_acc_fk=:ac_id_pk AND vh_deleted_ts IS NULL"); $disk_check->bindParam(':ac_id_pk', $userdir['ac_id_pk']); $disk_check->execute(); $time = time(); while ($row_res = $disk_check->fetch()) { $file_path = "/etc/sentora/configs/apache/domains/".$row_res['vh_name_vc'].".conf"; $file_bk = $file_path."_".$time; $disk_exced = shell_exec("grep -R 'diskexceeded' $file_path"); $disk_size = explode("/",$size); $used_disk = trim($disk_size[0]); if($disk_exced != ""){ if($used_disk > $diskquota){ $dir_change = 0; } else{ echo "\n Diskexceeded Backup File $file_bk \n"; shell_exec("mv $file_path $file_bk"); $dir_change = 1; } } else { if($used_disk > $diskquota){ echo "\n Backup File $file_bk \n"; shell_exec("mv $file_path $file_bk"); $dir_change = 1; } } } } echo "Disk usage for user \"" . $userdir['ac_user_vc'] . "\" is: " . $size . " (" . fs_director::ShowHumanFileSize($size) . ")" . fs_filehandler::NewLine(); } if($dir_change == 1){ $sql = $zdbh->prepare("UPDATE x_settings SET so_value_tx='true' WHERE so_name_vc='apache_changed'"); $sql->execute(); shell_exec("php /etc/sentora/panel/bin/daemon.php"); } echo "END Calculating disk usage" . fs_filehandler::NewLine(); /* * Calculate the bandwidth used for each user. */ $checksql = $zdbh->query("SELECT COUNT(*) AS total FROM x_vhosts WHERE vh_deleted_ts IS NULL")->fetch(); echo fs_filehandler::NewLine() . "START Calculating bandwidth usage for all client accounts.." . fs_filehandler::NewLine(); if ($checksql['total'] > 0) { $domainssql = $zdbh->query("SELECT vh_acc_fk, vh_name_vc FROM x_vhosts WHERE vh_deleted_ts IS NULL"); while ($domain = $domainssql->fetch()) { $domainowner=ctrl_users::GetUserDetail($domain['vh_acc_fk']); $bandwidthlog=ctrl_options::GetSystemOption('log_dir').'domains/'.$domainowner['username'].'/'.$domain['vh_name_vc'].'-bandwidth.log'; $snapshotfile=ctrl_options::GetSystemOption('log_dir').'domains/'.$domainowner['username'].'/'.$domain['vh_name_vc'].'-snapshot.bw'; $bandwidth = 0; echo "Processing domain \"" . $domain['vh_name_vc'] . "\"" . fs_filehandler::NewLine(); if (fs_director::CheckFileExists($bandwidthlog)) { fs_filehandler::CopyFile($bandwidthlog, $snapshotfile); if (fs_director::CheckFileExists($snapshotfile)) { fs_filehandler::ResetFile($bandwidthlog); echo "Generating bandwidth.. " . fs_filehandler::NewLine(); $bandwidth = sys_bandwidth::CalculateFromApacheLog($snapshotfile); if(file_exists($snapshotfile) && !is_dir($snapshotfile)) unlink($snapshotfile); echo "usage: ".$bandwidth." (".fs_director::ShowHumanFileSize($bandwidth).")".fs_filehandler::NewLine(); } } if (!fs_director::CheckForEmptyValue($bandwidth)) { $numrows = $zdbh->prepare("UPDATE x_bandwidth SET bd_transamount_bi=(bd_transamount_bi+:bandwidth) WHERE bd_acc_fk = :vh_acc_fk AND bd_month_in = :date"); $numrows->bindParam(':bandwidth', $bandwidth); $date = date("Ym"); $numrows->bindParam(':date', $date); $numrows->bindParam(':vh_acc_fk', $domain['vh_acc_fk']); $numrows->execute(); } else { echo "No bandwidth used, skipping!" . fs_filehandler::NewLine(); } $numrows = $zdbh->prepare("SELECT * FROM x_bandwidth WHERE bd_month_in = :date AND bd_acc_fk = :vh_acc_fk"); $date = date("Ym"); $numrows->bindParam(':date', $date); $numrows->bindParam(':vh_acc_fk', $domain['vh_acc_fk']); $numrows->execute(); $checksize = $numrows->fetch(); if ($checksize['bd_transamount_bi'] > $domainowner['bandwidthquota']) { $updatesql = $zdbh->prepare("UPDATE x_bandwidth SET bd_transover_in = 1 WHERE bd_acc_fk = :vh_acc_fk"); $updatesql->bindParam(':vh_acc_fk', $domain['vh_acc_fk']); $updatesql->execute(); } else { $updatesql = $zdbh->prepare("UPDATE x_bandwidth SET bd_transover_in = 0 WHERE bd_acc_fk =:vh_acc_fk"); $updatesql->bindParam(':vh_acc_fk', $domain['vh_acc_fk']); $updatesql->execute(); } } } echo "END Calculating bandwidth usage" . fs_filehandler::NewLine(); /////////////////////////////////// Disk Usage Start /////////////////////////////////////// echo "Disk Usage Start ".fs_filehandler::NewLine(); $user_sql= $zdbh->prepare(" select * from x_accounts where ac_deleted_ts IS NULL"); $user_sql->execute(); while( $account_details = $user_sql->fetch() ) { $acc_key=$account_details['ac_id_pk']; echo "Account Id : $acc_key Start".fs_filehandler::NewLine(); $retval = 0; $sql1 = $zdbh->prepare("select sum(my_usedspace_bi) as mysqlusage from x_mysql_databases where my_acc_fk= :acc_key1 AND my_deleted_ts IS NULL"); $sql1->bindParam(':acc_key1',$acc_key); $sql1->execute(); $row_count1 = $sql1->rowCount(); if($row_count1 >0) { $row1 = $sql1->fetch(); $retval1 = $row1['mysqlusage']; if(is_null($retval1) || $retval1 =="NULL" ) {} else { $retval = $retval + $retval1; } } $sql2 = $zdbh->prepare("select sum(mb_size) as mailsize from x_mailboxes where mb_acc_fk= :acc_key2 AND mb_deleted_ts IS NULL"); $sql2->bindParam(':acc_key2',$acc_key); $sql2->execute(); $row_count2 = $sql2->rowCount(); if($row_count2 >0) { $row2 = $sql2->fetch(); $retval2 = $row2['mailsize']*1024; if(is_null($retval2) || $retval2 =="NULL" ) {} else { $retval = $retval + $retval2; } } $sql3 =$zdbh->prepare("select vh_name_vc,(select ac_user_vc from x_accounts where x_accounts.ac_id_pk = x_vhosts.vh_acc_fk and x_accounts.ac_deleted_ts IS NULL ) as username from x_vhosts where vh_acc_fk = :acc_key2 and vh_deleted_ts IS NULL "); $sql3->bindParam(':acc_key2',$acc_key); $sql3->execute(); $row_count3 = $sql3->rowCount(); if($row_count3 >0) { $row3 = $sql3->fetch(); $retval3 = $row3['username']; $sentora_path =ctrl_options::GetSystemOption('hosted_dir').$retval3; if(is_dir($sentora_path)) { $shell_script1 = "du -s -L -P $sentora_path"; $shell_data1 = shell_exec($shell_script1); $shell_data2 = trim(preg_replace('/\s+/', '', $shell_data1)); $shell_data3 = trim(preg_replace('/\s+/', ' ', $shell_data1)); if(strlen($shell_data2) > 0 ) { $exp_d = explode(" ",$shell_data3); $f_size = trim(preg_replace('/\s+/', '', $exp_d[0])); if(is_numeric($f_size)) { $f_size_b = $f_size * 1024; $retval = $retval + $f_size_b; } } } } $sql3 =$zdbh->prepare("select vh_name_vc,(select ac_user_vc from x_accounts where x_accounts.ac_id_pk = x_vhosts.vh_acc_fk and x_accounts.ac_deleted_ts IS NULL ) as username from x_vhosts where vh_acc_fk = :acc_key2 and vh_deleted_ts IS NULL "); $sql3->bindParam(':acc_key2',$acc_key); $sql3->execute(); $row_count3 = $sql3->rowCount(); if($row_count3 >0) { $row3 = $sql3->fetch(); $retval3 = $row3['username']; $sentora_path ="/var/sentora/logs/domains/".$retval3; if(is_dir($sentora_path)) { $shell_script1 = "du -s -L -P $sentora_path"; $shell_data1 = shell_exec($shell_script1); $shell_data2 = trim(preg_replace('/\s+/', '', $shell_data1)); $shell_data3 = trim(preg_replace('/\s+/', ' ', $shell_data1)); if(strlen($shell_data2) > 0 ) { $exp_d = explode(" ",$shell_data3); $f_size = trim(preg_replace('/\s+/', '', $exp_d[0])); if(is_numeric($f_size)) { $f_size_b = $f_size * 1024; $retval = $retval + $f_size_b; } } } } /* //////////////////// Update content ////////////////////// */ $sqlupdate =$zdbh->prepare("select * from x_diskusage where ac_id_pk=:acc_key2"); $sqlupdate->bindParam(':acc_key2',$acc_key); $sqlupdate->execute(); $row_count_update = $sqlupdate->rowCount(); $sqlupdate=""; if($row_count_update >0) { //updatesql $sqlupdate =$zdbh->prepare("Update x_diskusage set ac_used_space=:acc_used where ac_id_pk=:acc_key2"); } else { //insertsql $sqlupdate =$zdbh->prepare("INSERT INTO x_diskusage(ac_id_pk,ac_used_space) VALUES(:acc_key2,:acc_used)"); } $sqlupdate->bindParam(':acc_key2',$acc_key); $sqlupdate->bindParam(':acc_used',$retval); $sqlupdate->execute(); /* /////////////////// Update content ////////////////////// */ } echo "Disk Usage End".fs_filehandler::NewLine(); ///////////////////////////////////// Disk Usage End /////////////////////////////// /* * Code is added by Sangeeth on 04.07.18 * This code is used to check and update the delete time of the databases in sentora which is not having in schema * Code start here */ /*$query = "UPDATE x_mysql_databases as a LEFT JOIN information_schema.SCHEMATA as b ON a.my_name_vc = b.schema_name SET a.my_deleted_ts=:time, a.ip_deleted=:ip WHERE b.schema_name IS NULL AND a.my_deleted_ts is NULL;"; $sql = $zdbh->prepare($query); $time = time(); $ip = "111111"; $sql->bindParam(':time', $time); $sql->bindParam(':ip', $ip); $sql->execute(); */ /* * Code is added by Sangeeth on 04.07.18 * This code is used to check and update the delete time of the databases in sentora which is not having in schema * Code end here */ } else { echo "Server Load Greater than 10: ".$load[0]; } ?>
Edit
Download
Unzip
Chmod
Delete