mirror of
https://github.com/AlexMacocian/ServerManagementUtils.git
synced 2026-07-15 15:19:58 +00:00
Disk usage tweaks
This commit is contained in:
@@ -22,14 +22,22 @@ for i in {1..6}; do
|
|||||||
# Use process substitution instead of pipe to avoid subshell issues
|
# Use process substitution instead of pipe to avoid subshell issues
|
||||||
if [[ "$OS_TYPE" == "macos" ]]; then
|
if [[ "$OS_TYPE" == "macos" ]]; then
|
||||||
# macOS df format: Filesystem 512-blocks Used Available Capacity iused ifree %iused Mounted on
|
# macOS df format: Filesystem 512-blocks Used Available Capacity iused ifree %iused Mounted on
|
||||||
while read -r filesystem blocks used avail capacity iused ifree iusedpct mount; do
|
# Mount points can have spaces, so we need to handle the full line
|
||||||
|
while IFS= read -r line; do
|
||||||
# Skip header line
|
# Skip header line
|
||||||
if [[ "$filesystem" == "Filesystem" ]]; then
|
if [[ "$line" =~ ^Filesystem ]]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Convert 512-byte blocks to bytes
|
# Extract fields using awk (handles multi-word mount points)
|
||||||
if [[ -n "$mount" && -n "$used" && -n "$blocks" ]]; then
|
filesystem=$(echo "$line" | awk '{print $1}')
|
||||||
|
blocks=$(echo "$line" | awk '{print $2}')
|
||||||
|
used=$(echo "$line" | awk '{print $3}')
|
||||||
|
# Mount point is everything from column 9 onwards
|
||||||
|
mount=$(echo "$line" | awk '{for(i=9;i<=NF;i++) printf "%s%s", $i, (i<NF?" ":""); print ""}')
|
||||||
|
|
||||||
|
# Skip entries with 0 blocks (pseudo filesystems) or starting with dash
|
||||||
|
if [[ -n "$mount" && -n "$used" && -n "$blocks" && "$blocks" != "0" && ! "$filesystem" =~ ^- ]]; then
|
||||||
used_bytes=$((used * 512))
|
used_bytes=$((used * 512))
|
||||||
total_bytes=$((blocks * 512))
|
total_bytes=$((blocks * 512))
|
||||||
echo "$timestamp $mount $used_bytes $total_bytes" >> "$LOGFILE"
|
echo "$timestamp $mount $used_bytes $total_bytes" >> "$LOGFILE"
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ fi
|
|||||||
|
|
||||||
LogInformation "Starting power usage monitoring (OS: $OS_TYPE)"
|
LogInformation "Starting power usage monitoring (OS: $OS_TYPE)"
|
||||||
|
|
||||||
|
# Run 6 iterations with 10-second intervals = 60 seconds total (no gaps)
|
||||||
for i in {1..6}; do
|
for i in {1..6}; do
|
||||||
timestamp=$(GetTimestamp)
|
timestamp=$(GetTimestamp)
|
||||||
|
|
||||||
@@ -115,7 +116,7 @@ for i in {1..6}; do
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $i -lt 6 ]; then
|
if [ $i -lt 6 ]; then
|
||||||
sleep 9
|
sleep 10
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user