Patient ist eine WD Blue (EZEX)39157 diese geht exakt nur 1x selbständig in Spindown nach (Re)Start von System/hdparm bzw. Manuell dagegen funktioniert problemlos.
Suche eine Möglichkeit über ein zeitgesteuertes Script diese HDD (nur Idle!) schlafen zulegen.
Spin down script ?
Spin down script ?
You Disapeared In The Darkness Of The Night...
- MegaV0lt
- Beiträge: 173
- Registriert: 21.11.2011 11:16:07
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: Spin down script ?
Ich habe mir mal ein Skript gebastelt:Ohne Gewähr!
Code: Alles auswählen
#!/bin/bash
# spindown.sh
# Prüft '/proc/diskstats' und fährt Disk herunter
#What: /proc/diskstats
#Date: February 2008
#Contact: Jerome Marchand <jmarchan@redhat.com>
#Description:
# The /proc/diskstats file displays the I/O statistics
# of block devices. Each line contains the following 14
# fields:
# 1 - major number
# 2 - minor mumber
# 3 - device name
# 4 - reads completed successfully
# 5 - reads merged
# 6 - sectors read
# 7 - time spent reading (ms)
# 8 - writes completed
# 9 - writes merged
# 10 - sectors written
# 11 - time spent writing (ms)
# 12 - I/Os currently in progress
# 13 - time spent doing I/Os (ms)
# 14 - weighted time spent doing I/Os (ms)
# For more details refer to Documentation/iostats.txt
#exit # Deaktiviert!
### Variablen
#DISKLABEL="HDT721010SLA360" # Label der Disk, die verwendet werden soll
DISKLABEL="$(readlink /mnt/usbdisk)" # Mountpoint ist ein Symlink auf den Namen der Disk
DISKLABEL="$(basename ${DISKLABEL})" # Für den Fall, dass der Link "/mnt/..." lautet""
DISKSTATS="/proc/diskstats" # diskstats
INTERVALL=$((60*60)) # Prüfintervall in Sekunden
SGSTART="/usr/bin/sg_start" # Tool zum herunterfahren der Platte
HDPARM="/sbin/hdparm" # Tool hdparm
LOG="/var/log/$(basename ${0%.*}).log" # Log
MAXLOGSIZE=$((20*1024)) # In Bytes
[ ! -e $DISKSTATS ] && echo "$DISKSTATS nicht gefunden!" && exit 1
[ ! -e $HDPARM ] && echo "$HDPARM nicht gefunden!" && exit 1
[ ! -e /dev/disk/by-label/$DISKLABEL ] && echo "/dev/disk/by-label/$DISKLABEL nicht gefunden!" && exit 1
[ -e $LOG ] && mv -f $LOG $LOG.old # Altes Log sichern
echo "$(date +'%F %R') - $0 Start" > $LOG # Neues Log
DISK="$(readlink -m /dev/disk/by-label/$DISKLABEL)" # /dev/sdb1
#DISK="${DISK/\/dev\/}" # sdb1
DISK=$(basename $DISK) # sdb1
DISK="${DISK:0:3}" # sdb
while true ; do
NOW="$(date +'%F %R')"
while read -r ; do
DLINE=($REPLY) # Zeile in ein Array
case ${DLINE[2]} in # 3. Wert ist sd?
"$DISK") [ -z "$OLDLINE" ] && OLDLINE="$REPLY" && continue
if [[ "$REPLY" == "$OLDLINE" ]] ; then
if [ -z "$STOPFLAG" ] ; then
echo "Stopping disk ($DISK) at $NOW" >> $LOG
# Stop Disk
#$SGSTART --stop /dev/$DISK
$HDPARM -y /dev/$DISK >> $LOG
STOPFLAG="$NOW"
fi
#echo "$NOW - Disk ($DISK) still idle" >> $LOG
unset ACTIVEFLAG
else # Lines changed!
if [ -z "$ACTIVEFLAG" ] ; then
echo "Found disk ($DISK) active at $NOW" >> $LOG
ACTIVEFLAG="$NOW"
fi
#echo "$NOW - Disk ($DISK) still active" >> $LOG
OLDLINE="$REPLY" ; unset STOPFLAG
fi
break # Weitere Zeilen müssen nicht gelesen werden
;;
esac
done < $DISKSTATS
if [ -e "$LOG" ] ; then # Log-Datei umbenennen, wenn zu groß
FILESIZE=$(stat -c %s $LOG)
[ $FILESIZE -ge $MAXLOGSIZE ] && mv -f "$LOG" "$LOG.old"
fi
sleep $INTERVALL # Warten
done
exit
"Das Internet? Gibt's diesen Blödsinn immer noch?"
[Homer Simpson], Sicherheitsinspektor im Kernkraftwerk Springfield.
[Homer Simpson], Sicherheitsinspektor im Kernkraftwerk Springfield.
Re: Spin down script ?
Danke für den Input
Schaue mir es mal und Berichte ob es funktioniert.
Seit den Einbau von der WD Blue spinnt hdparm, mal funktioniert spindown dann wiederum nicht. Sämtliche HDD Anschlüsse überprüft und Kabel ausgetauscht.
Schaue mir es mal und Berichte ob es funktioniert.
Seit den Einbau von der WD Blue spinnt hdparm, mal funktioniert spindown dann wiederum nicht. Sämtliche HDD Anschlüsse überprüft und Kabel ausgetauscht.
You Disapeared In The Darkness Of The Night...
Re: Spin down script ?
Teste gerade ein einfaches Script und läuft bisher ohne Probleme.[1]
hdparm (Inaktiv!) wird gebraucht und smartmontools wird berücksichtigt.
[1] 39179
hdparm (Inaktiv!) wird gebraucht und smartmontools wird berücksichtigt.
[1] 39179
You Disapeared In The Darkness Of The Night...