Announcement

Collapse
No announcement yet.

Owncloud Quota

Collapse
This topic is closed.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Owncloud Quota

    Hallo miteinader

    Wie mein Titel es schon sagt habe ich ein Prblem mit Owncloud.
    Nach langem suchen im Netz bin ich auf ein Script gestossen, das genau das macht was ich bruache, leider ist es ein Nagios Plugin [​IMG]

    Aber wenn ich den Code so anschaue solte es auch ohne Nagios gehen.

    Habe das Script auf den Server geladen, der ordner wird angelegt aber er ist leer obwohl ich über 1TB Daten drauf habe mit 50 Usern.
    Meine frage nun ist wie muss ich das Script anpassen das ich die ausgabe direkt über das Script machen kann
    oder wie ich es hinkriege das ich im gesagten Order Daten habe.
    Code:
     <?php
    $username = "owncloud";
    $password = "geheim:)";
    $hostname = "localhost";
    $database = "owncloud";
    $location = "/var/www/owncloud/data/"; //Change this to the location where userdirs are located on your owncloud linux server
    
    //connection to the database
    $dbhandle = mysql_connect($hostname, $username, $password)
     or die("Unable to connect to MySQL");
    //select a database to work with
    $selected = mysql_select_db($database, $dbhandle)
      or die("Could not select owncloud");
    //execute the SQL query and return records
    $allusers = mysql_query("select distinct userid from oc_preferences where configkey = 'firstLoginAccomplished' ;");
    while ($row = mysql_fetch_array($allusers)) {
        $allus = $row{'userid'};
    
    //check on disk to see directory size
        $dirname = $location.$allus;
        $io = popen ( '/usr/bin/du -sb' . $dirname, 'r' );
        $size = fgets ( $io, 4096);
        $sizecurb = substr ( $size, 0, strpos ( $size, "\t" ) );
        pclose ( $io );
    
    // check if user has higher then default quota
    $quota = mysql_query("select configvalue from oc_preferences where configkey = 'quota' and userid = '$allus' ;");
    $actquot = mysql_fetch_array($quota);
    //quota prolly in GB values, for nagios i want bytes
    if (strpos($actquot{'configvalue'},'GB') !== false) {
        list($sizecur, $unit) = explode(" ", $actquot{'configvalue'});
        $maxquot = $sizecur * 1024 * 1024 * 1024;
    }
    //user has no custom quota, use the system default of 10 GB
    else {
        $maxquot = 10 * 1024 * 1024 * 1024;
    }
    
    //print username, current usage in bytes, and the max available space in bytes
    echo $allus ",".$sizecurb.",".$maxquot."
    ";
    
    }
    
    //close the connection
    mysql_close($dbhandle);
    
    
    
    
    
    ?>
    der Ordner wird in /tmp/ angelegt und heist owncloud-oce8e15c2ac5

    Die logs spucken weder Errors noch irgend was nützliches aus.

    Besten Dank im Voraus!

  • #2
    Es haben sich bereits Helfer mit Deinem Problem befasst: http://www.php.de/forum/webentwicklu...uota-auslessen

    Wenn Du mit deren Bemühungen nicht zufrieden bist, frag nach. Aber die fleissigen Helfer hier erneut damit zu konfrontieren finde ich etwas dreist.
    Du könntest zumindest darauf hinweisen, daß Dir bereits Tipps gegeben wurden, die Dein Problem leider nicht gelöst oder Du nicht verstanden hast.
    PHP rocks!
    Eine Initiative der PHP Community

    Comment


    • #3
      geschlossen -> Crosspost
      Christian

      Comment

      Working...
      X