Alternc  3.2
Alternc logiel libre pour l'hébergement
 All Data Structures Namespaces Files Functions Variables Pages
spoolsize.php
Go to the documentation of this file.
1 #!/usr/bin/php -q
2 <?php
3 
4 require_once("/usr/share/alternc/panel/class/config_nochk.php");
5 // On déverrouile le bureau AlternC :)
6 @alternc_shutdown();
7 
8 global $db;
9 
10 echo "\n---------------------------\n Generating size-cache for web accounts\n\n";
11 $r=mysql_query("SELECT uid,login FROM membres;");
12 while ($c=mysql_fetch_array($r)) {
13  echo $c["login"]; flush();
14  $size=exec("sudo /usr/lib/alternc/du.pl ".ALTERNC_HTML."/".substr($c["login"],0,1)."/".$c["login"]);
15  $db->query("REPLACE INTO size_web SET uid='".$c["uid"]."',size='$size';");
16  echo " done ($size KB) \n"; flush();
17 }
18 
19 echo "\n---------------------------\n Generating size-cache for MySQL databases\n\n";
20  // We get all hosts on which sql users' DB are
21  $r=mysql_query("select * from db_servers;");
22  $tab=array();
23  while ($c=mysql_fetch_array($r)) {
24  $tab=$mysql->get_dbus_size($c["name"],$c["host"],$c["login"],$c["password"],$c["client"]);
25  echo "++ Processing ".$c["name"]." ++\n";
26  foreach ($tab as $dbname=>$size) {
27  $db->query("REPLACE INTO size_db SET db='".$dbname."',size='$size';");
28  echo " $dbname done ($size B) \n"; flush();
29  }
30  echo "\n";
31  }
32 
33 echo "---------------------------\n Generating size-cache for mailman\n\n";
34 if ($db->query("SELECT uid, name FROM mailman;")) {
35  $c=array();
36  $d=array();
37  if($db->num_rows()){
38  while ($db->next_record()) {
39  $cc[]=array("uid" => $db->f("uid"), "name" => $db->f("name"));
40  }
41  foreach ($cc as $c){
42  echo $c["uid"]."/".$c["name"]; flush();
43  $size1=exec("sudo /usr/lib/alternc/du.pl /var/lib/mailman/lists/".$c["name"]);
44  $size2=exec("sudo /usr/lib/alternc/du.pl /var/lib/mailman/archives/private/".$c["name"]);
45  $size3=exec("sudo /usr/lib/alternc/du.pl /var/lib/mailman/archives/private/".$c["name"].".mbox");
46  $size=(intval($size1)+intval($size2)+intval($size3));
47  $db->query("REPLACE INTO size_mailman SET uid='".$c["uid"]."',list='".$c["name"]."', size='$size';");
48  echo " done ($size KB) \n"; flush();
49  }
50  }
51 }
52 
53 // On relocke le bureau pour éviter un msg d'erreur.
54 @sem_acquire( $alternc_sem );
55 
56 ?>