ruạṛ
#!/usr/bin/perl sub manual{ print ".....Na: \n"; print "-u -> report user from domain request \n"; print "Example dai -u sentry \n"; print "-d -> report domain from user \n"; print "Example dai -d sentry.com \n"; print "-ms -> mail size \n"; print "Example dai -ms sentry \n"; print "-p -> user processes \n"; print "Example dai -p sentry \n"; print "-ds -> DB size \n"; print "Example: dai -ds sentry \n"; print "-cr -> CRON jobs \n"; print "Example: dai -cr sentry \n"; print "-slog -> check last 200 lines of mysql slow log\n"; print "Example: dai -slog sentry \n"; print "-hs -> check home folder size in /root/admin/acc_size_old\n"; print "Example: dai -hs sentry \n"; } sub dai{ ($option, $variable) = @_; if($option eq "-u"){ $reply = `grep $variable /var/cpanel/users/*`; my @line = split /:/, $reply; $line[0] =~ s/(.*)\/(.*)/$2/; $line[1] =~ s/(.*)=(.*)/$2/; print "User: $line[0]\t\tDomain: $line[1]\n"; }elsif($option eq "-d"){ my $i=1; open USER, '<', "/var/cpanel/users/$variable" or die "Unable to open file(/var/cpanel/users/$variable): $!\n"; while (<USER>) { if ($_ =~ /DNS/) { $_ =~ s/(.*)=(.*)/$2/; print "$i: $_"; $i++; } } close USER; $i--; print "All count: $i\n"; }elsif($option eq "-ms"){ $reply = `du -s /home/$variable/mail`; print "$reply"; }elsif($option eq "-p"){ $reply = `ps -elf | grep $variable`; print "$reply"; }elsif($option eq "-ds"){ $reply = `du -s /var/lib/mysql/$variable*`; print "$reply"; }elsif($option eq "-cr"){ $reply = `cat /var/spool/cron/$variable`; print "$reply"; }elsif($option eq "-slog"){ $reply = `tail -n 200 /var/lib/mysql/mysql-slow.log | grep -A2 -B1 $variable`; print "$reply"; }elsif($option eq "-hs"){ $reply = `grep $variable /root/admin/acc_size_old`; print "Approx. home folder size: $reply"; } else{ manual; } } dai($ARGV[0], $ARGV[1]);
cải xoăn