Current time: 01-09-2025, 10:12 AM Hello There, Guest! (LoginRegister)


Post Reply 
Egyéni fejlesztések
Author Message
Kika Offline
Member
***

Posts: 293
Joined: Feb 2007
Reputation: 8
Post: #28
RE: Egyéni fejlesztések
a scriptet itt a forumon talaltam meg regen, en csak belebarkacsoltam, hogy kiket listazzon, mert alapbol mindenkit kuldott, meg hozzaadtam a tarhelyet is, ha mar jon mail nem art ha latom, hogy esetleg lassan megtelik a hattertar...

Amit meg tudni erdemes az az, hogy a traffic limitet en nem hasznalom igy mikor beleturtam nem figyeltem ra, hogy az is mukodjon, ezert nem is megy, szoval ha kell valakinek akkor vagy szoljon vagy irja at kicsit Smile

disk-usage-report.pl
Code:
#!/usr/bin/perl
#
# Generates a report of disk and traffic usage of all ispCP domains
#

use strict;
use warnings;
use DBI;
use Time::Local;

#
# Configuration
#

# Notice-Limit in percent; a notice is added to a domain if it uses more percent of its disk or traffic limit than this value
my $notice_limit = 90;

# MySQL-Hostname (default: localhost)
my $db_host = "localhost";

# MySQL-Database name (default: ispcp)
my $db_name = "ispcp";

# Username and password for a MySQL-User which is allowed to query the ispcp database
my $db_user = "DBUSER";
my $db_pass = "DBPASS";

#
# End of Configuration
#

# Connect to the database
my $dbh = DBI->connect("DBI:mysql:database=$db_name;host=$db_host", $db_user, $db_pass)
    or die "Can't connect to the database: $DBI::errstr\n";

# Retrieve all domains
my $query = $dbh->prepare("SELECT domain_id, domain_name, IFNULL(domain_disk_usage,0), IFNULL(domain_disk_limit,0), IFNULL(domain_traffic_limit,0) FROM domain where ((domain_disk_limit*1024*1024)<(domain_disk_usage+(domain_disk_limit*1024*1024*0.05))) and domain_disk_limit>0 ORDER BY domain_name");
$query->execute()
    or die "Can't execute query: $DBI::errstr\n";

# Go through all domains and generate the report
my $report = "";
while (my ($id, $name, $disk_u, $disk_l, $traffic_l) = $query->fetchrow_array ) {
    # Get currently used traffic (from 1st of this month till today)
    my ($mon,$year) = (localtime())[4..5];
    # Correction, see http://perldoc.perl.org/functions/localtime.html
    $year += 1900;

    # Generate UNIX-Timestamp for the 1st of this month
    my $begin = timelocal(0,0,0,1,$mon,$year);

    # Query the database
    my $traffic_query = $dbh->prepare("SELECT IFNULL(sum(dtraff_web), 0), IFNULL(sum(dtraff_ftp), 0), IFNULL(sum(dtraff_mail), 0), IFNULL(sum(dtraff_pop), 0) "
        . "FROM domain_traffic WHERE domain_id = $id AND dtraff_time >= $begin AND dtraff_time <= " . time());
    $traffic_query->execute()
        or die "Can't execute query: $DBI::errstr\n";

    my ($web, $ftp, $mail, $pop) = $traffic_query->fetchrow_array;

    # Calculate currently used disk space and traffic in MB
    my $traffic_u = ($web + $ftp + $mail + $pop) / ( 1024 * 1024 );
    $disk_u /= (1024 * 1024);

    # Create the sub-reports
    my $notice = "";
    $notice .= " (*High disk usage*)"
        if ($disk_l != 0 && 100*$disk_u/$disk_l > $notice_limit);
    $notice .= " (*High traffic usage*)"
        if ($traffic_l != 0 && 100*$traffic_u/$traffic_l > $notice_limit);
    my $disk_report = "Disk usage: " . sprintf("%.2f", $disk_u) . " MB / " . ( ( $disk_l == 0 ) ? "unlimited" : "$disk_l MB (" . sprintf("%.2f", 100*$disk_u/$disk_l) . " %)" );
    my $traffic_report = "Traffic usage: " . sprintf("%.2f", $traffic_u) . " MB / " . ( ( $traffic_l == 0 ) ? "unlimited" : "$traffic_l MB (" . sprintf("%.2f", 100*$traffic_u/$traffic_l) . " %)" );

    # Write the report line
    $report .= "$name:$notice\n\t$disk_report\n\t$traffic_report\n\n";
}

# Close database connection
$dbh->disconnect;

# Get Date
my ($day, $month, $year) = (localtime)[3,4,5];
my $today = sprintf("%d-%02d-%02d", $year+1900, $month+1, $day);

# Print the report
print "=== ispCP - Domain Disk and Traffic Usage Report ($today) ===\n\n";
print $report;

exec "df -h";

crontab
Code:
0 6    * * *    root    /path/to/the/script/disk-usage-report.pl | mutt -s "ispCP Server - Domain Disk and Traffic Usage Report" your@email.address
(This post was last modified: 11-15-2010 10:40 PM by Kika.)
11-15-2010 08:16 PM
Find all posts by this user Quote this message in a reply
Post Reply 


Messages In This Thread
Egyéni fejlesztések - Dylan - 06-16-2010, 09:02 PM
RE: Egyéni fejlesztések - fapapucs - 06-17-2010, 11:41 PM
RE: Egyéni fejlesztések - 4t1s - 07-02-2010, 09:49 PM
RE: Egyéni fejlesztések - Dylan - 07-02-2010, 10:22 PM
RE: Egyéni fejlesztések - Dylan - 07-06-2010, 08:36 PM
RE: Egyéni fejlesztések - adams198 - 07-10-2010, 06:56 PM
RE: Egyéni fejlesztések - Dylan - 07-10-2010, 06:57 PM
RE: Egyéni fejlesztések - adams198 - 07-10-2010, 07:58 PM
RE: Egyéni fejlesztések - Dylan - 07-10-2010, 08:05 PM
RE: Egyéni fejlesztések - adams198 - 07-10-2010, 08:14 PM
RE: Egyéni fejlesztések - Dylan - 07-12-2010, 07:21 PM
RE: Egyéni fejlesztések - adams198 - 07-13-2010, 03:37 PM
RE: Egyéni fejlesztések - romantik - 09-03-2010, 10:22 PM
RE: Egyéni fejlesztések - Dylan - 09-03-2010, 10:29 PM
RE: Egyéni fejlesztések - romantik - 09-22-2010, 07:49 AM
RE: Egyéni fejlesztések - Dylan - 09-28-2010, 08:57 PM
RE: Egyéni fejlesztések - romantik - 09-28-2010, 11:00 PM
RE: Egyéni fejlesztések - Dylan - 09-28-2010, 11:15 PM
RE: Egyéni fejlesztések - romantik - 09-28-2010, 11:28 PM
RE: Egyéni fejlesztések - Dylan - 09-29-2010, 05:05 PM
RE: Egyéni fejlesztések - Dylan - 11-08-2010, 08:05 PM
RE: Egyéni fejlesztések - romantik - 11-08-2010, 08:28 PM
RE: Egyéni fejlesztések - Kika - 11-11-2010, 05:13 AM
RE: Egyéni fejlesztések - Proci - 01-30-2011, 03:29 AM
RE: Egyéni fejlesztések - Dylan - 01-30-2011, 08:04 AM
RE: Egyéni fejlesztések - Dylan - 11-08-2010, 08:34 PM
RE: Egyéni fejlesztések - Proci - 11-11-2010, 03:07 AM
RE: Egyéni fejlesztések - Dylan - 11-11-2010, 06:11 AM
RE: Egyéni fejlesztések - romantik - 11-13-2010, 01:47 AM
RE: Egyéni fejlesztések - Kika - 11-15-2010 08:16 PM
RE: Egyéni fejlesztések - romantik - 11-15-2010, 09:59 PM
RE: Egyéni fejlesztések - Kika - 11-15-2010, 10:40 PM
RE: Egyéni fejlesztések - romantik - 11-15-2010, 11:03 PM
RE: Egyéni fejlesztések - romantik - 11-25-2010, 06:20 PM
RE: Egyéni fejlesztések - Kika - 12-02-2010, 12:30 AM
RE: Egyéni fejlesztések - romantik - 12-02-2010, 01:32 AM
RE: Egyéni fejlesztések - Proci - 01-24-2011, 04:27 AM
RE: Egyéni fejlesztések - Dylan - 11-25-2010, 11:26 PM
RE: Egyéni fejlesztések - romantik - 11-25-2010, 11:30 PM
RE: Egyéni fejlesztések - Proci - 11-25-2010, 11:44 PM
RE: Egyéni fejlesztések - romantik - 11-26-2010, 12:52 AM
RE: Egyéni fejlesztések - Dylan - 11-26-2010, 08:11 PM
RE: Egyéni fejlesztések - romantik - 11-26-2010, 09:41 PM
RE: Egyéni fejlesztések - pillerk - 01-18-2011, 12:35 AM
RE: Egyéni fejlesztések - Dylan - 02-10-2011, 03:05 AM

Forum Jump:


User(s) browsing this thread: 3 Guest(s)