commit b9c6ced147894d1db79b2d47fa1518a98202f3e6 Author: knuta <knuta@pvv.ntnu.no> Date: Mon May 5 13:03:33 2025 +0200 Add uquota.pl diff --git a/uquota.pl b/uquota.pl new file mode 100644 index 0000000..67dfb5d --- /dev/null +++ b/uquota.pl @@ -0,0 +1,34 @@ +#! /usr/bin/perl + +# Bare på nyere perl. Sukk. +# use warnings; +use strict; +use Quota; +use POSIX qw(strftime); + +my ($name,$passwd,$uid,$gid, $quota,$comment,$gcos,$dir,$shell,$expire) = getpwuid($<); +my ($block_curr, $block_soft, $block_hard, $block_timelimit, $inode_curr, $inode_soft, $inode_hard, $inode_timelimit) = Quota::query(Quota::getqcarg($dir)); + +if (! $block_hard && ! $block_soft) { + print "Du har uendelig kvote.\n"; +} + +my $filled = sprintf("%.1f", $block_curr * 100.0 / $block_soft); +my $max = "(ingen maksimum)"; +if ($block_hard) { + $max = sprintf("(max %.0f%%)",$block_hard * 100.0 / $block_soft); +} + +my $mb_curr = int($block_curr / 1024); +my $mb_soft = int($block_soft / 1024); + +my $days_timelimit = strftime("%Y-%m-%d %H:%M",localtime($block_timelimit)); + +print "Du har brukt ${mb_curr}MiB av ${mb_soft}MiB, eller ${filled}%.\n"; +if ($block_timelimit) { + print "Du er over kvoten din ${max}, og etter $days_timelimit\n"; + print "vil du miste skrivetilgang frem til du har slettet nok til å\n"; + print "komme under 100% igjen.\n"; +} else { + print "Du kan gå over kvoten din ${max} i opptil 7 dager.\n"; +}