Uzun bir zaman önce aldığım donanımların, kullanım ömrünün neresinde olduğunu merak ettim ve aşağıdaki irsaliye belgesine göre, bir bash shell betiği tasarladım...

Kod: Tümünü seç
#!/bin/bash
export LC_NUMERIC=C
INVOICE_DATETIME="2022-10-31 10:43:56"
echo "Enter date and time (YYYY-MM-DD HH:MM:SS) or only date:"
read INPUT
# If user enters only date, append 00:00:00
if [[ "$INPUT" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]; then
INPUT="$INPUT 00:00:00"
fi
# Validate date
date -d "$INPUT" >/dev/null 2>&1 || { echo "Invalid date format"; exit 1; }
invoice_sec=$(date -d "$INVOICE_DATETIME" +%s)
input_sec=$(date -d "$INPUT" +%s)
if [ "$input_sec" -lt "$invoice_sec" ]; then
echo "Date cannot be earlier than invoice date"
exit 1
fi
# Time difference in years (real seconds)
diff=$((input_sec - invoice_sec))
years=$(awk "BEGIN {printf \"%.4f\", $diff / 31557600}")
printf "\nElapsed time: %.2f years\n" "$years"
echo "-----------------------------------"
status() {
y=$1
min=$2
max=$3
if awk "BEGIN {exit !($y < $min)}"; then
echo "NEW"
elif awk "BEGIN {exit !($y < ($max*0.7))}"; then
echo "NORMAL"
elif awk "BEGIN {exit !($y < $max)}"; then
echo "AGING"
else
echo "CRITICAL"
fi
}
calculate() {
max=$1
awk "BEGIN {printf \"%.2f\", ($years / $max) * 100}"
}
print_device() {
name=$1
min=$2
max=$3
percent=$4
echo ""
echo "Device: $name"
echo "Lifetime range: $min - $max years"
echo "Status: $(status $years $min $max)"
printf "Wear: %.0f%%\n" "$percent"
echo "-----------------------------------"
}
# Calculate percentages
laptop=$(calculate 8)
ssd=$(calculate 10)
hdd=$(calculate 5)
mouse=$(calculate 4)
cooler=$(calculate 10)
dvd=$(calculate 8)
# Print results
print_device "Laptop" 3 8 "$laptop"
print_device "SSD" 5 10 "$ssd"
print_device "HDD" 3 5 "$hdd"
print_device "Mouse" 2 4 "$mouse"
print_device "Cooler" 5 10 "$cooler"
print_device "DVD Drive" 5 8 "$dvd"
# Weighted analysis
average=$(awk "BEGIN {
print ($laptop*0.40)+($ssd*0.20)+($hdd*0.20)+($mouse*0.05)+($cooler*0.10)+($dvd*0.05)
}")
health=$(awk "BEGIN {print 100 - $average}")
echo ""
echo "=========== FINAL ANALYSIS ==========="
printf "Healthy: %.0f%%\n" "$health"
printf "Aging: %.0f%%\n" "$average"
echo "======================================"Dosya: /home/linuxmaster/Masaüstü/donanım_ömür_hesaplama.sh
linuxmaster@notebook-pc:~/Masaüstü$ ./donanım_ömür_hesaplama.sh
Enter date and time (YYYY-MM-DD HH:MM:SS) or only date:
2026-04-01 20:00:00
Elapsed time: 3.42 years
-----------------------------------
Device: Laptop
Lifetime range: 3 - 8 years
Status: NORMAL
Wear: 43%
-----------------------------------
Device: SSD
Lifetime range: 5 - 10 years
Status: NEW
Wear: 34%
-----------------------------------
Device: HDD
Lifetime range: 3 - 5 years
Status: NORMAL
Wear: 68%
-----------------------------------
Device: Mouse
Lifetime range: 2 - 4 years
Status: AGING
Wear: 85%
-----------------------------------
Device: Cooler
Lifetime range: 5 - 10 years
Status: NEW
Wear: 34%
-----------------------------------
Device: DVD Drive
Lifetime range: 5 - 8 years
Status: NEW
Wear: 43%
-----------------------------------
=========== FINAL ANALYSIS ===========
Healthy: 53%
Aging: 47%
======================================
linuxmaster@notebook-pc:~/Masaüstü$
NOT :
“Aging” demek:
Yaşlanmış / Ömrünün sonuna yaklaşan
Yani
Parçalar hâlâ çalışıyor
Ama yıpranmış
Arıza riski artmış
Yani Healthy: 53% > Aging: 47%
Betiğe göre ne fazla 10-11 sene daha bu donanım seti rahat gider.Ondan sonrası Allah(c.c) kerim....

