What is Nostr?
A13cui /
npub1gyk…d8w8
2023-08-05 11:33:59
in reply to nevent1q…tlkv

A13cui on Nostr: npub1cmgqv…wrzd2 because I feel obliged to rewrite all Bash scripts into Perl: use ...

npub1cmgqvz7xr07euwkum3mjghjqcu4d3k2fcyf6g4uwwe5ggnd6fetq0wrzd2 (npub1cmg…rzd2) because I feel obliged to rewrite all Bash scripts into Perl:

use v5.36;
use strict;
use warnings;

# cpan Filesys::DfPortable to install or look in your package manager
use Filesys::DfPortable;

my $mountpoint = "/";

my $GB = 1024 ** 3;
my $diskLimit = 8;

my ($diskUsage, $diskTotal, $diskFree);

# I'd use Filesys::DfPortable.
# This actually works for Win95 and above, Linux, *BSD, HP-UX,
# AIX, Solaris, macOS, Iris, Cygwin etc.
my $ref = dfportable($mountpoint, $GB);
$diskUsage = int($ref->{bused});
$diskTotal = int($ref->{blocks});
$diskFree = int($ref->{bavail});

# But if you really *require* parsing df:
my @dfOutput = `df -hk $mountpoint`;
foreach my $line (@dfOutput) {
# Extract the necessary fields using regex.
# I am essentially scanning for the 2nd and 3rd fields.
if ($line =~ /^\S+\s+(\d+)\s+(\d+)/) {
$diskUsage = $1;
$diskTotal = $2;
last;
}
}
$diskFree = $diskTotal - $diskUsage;

if ($diskFree < $diskLimit) {
print "Less than $diskLimit GB left! Only $diskFree GB left!\n";
}
else {
print "There is still $diskFree/$diskTotal GB left. No need to be alarmed as the limit is $diskLimit GB.\n";
my $curl = `curl example.com/endpoint`;
}
Author Public Key
npub1gykyxa0f5e96pelee3spdvxhet9r0aeky05dfl9apjal4wym346q9rd8w8