Hlavní navigace

Odpověď na názor

Odpovídáte na názor ke článku Zyxel NAS.

  • 11. 4. 2013 10:15

    vty (neregistrovaný)

    K tomu jak zjistit, že se nepoužívají disky definovanou dobu přikládám níže skript,
    který jsem používal na Openwrt v době, kdy nefungoval pro nastavení uspávání (vypínání motoru) příkaz "hdparm -Sxx disk". Idea je porovnávat pro danou partition, která nás zajímá příslušný řádek z /proc/diskstats a v případě, že se po daný časový úsek neliší disk zastavit. U mě pokud se netočí externí disky (Openwrt běží z flash) tak je v místnosti ticho a nic nehučí, předpokládám, že u Zyxel NASu to bude podobné.

    ---begin---
    #!/bin/sh
    uuid=$1
    disk="$(blkid | grep "UUID=\"$uuid\"" | cut -f1 -d: | awk -F "/" '{print $3}' | sed -e 's/[1-9]//g')"

    # after this time interval the disk goes to spin-down (in seconds)
    interval=$2

    # steps for state check in seconds ($step must be lower then $interval)
    step=10

    state=`grep " $disk " /proc/diskstats`
    count=$interval
    up=1

    while [ true ]; do
    sleep $step
    count=$(($count-$step))
    newstate=`grep " $disk " /proc/diskstats`
    if [ "$state" = "$newstate" ]; then
    if [ $count -lt 0 ]; then
    count=$interval
    if [ $up = 1 ]; then
    logger -t spindown "spin-down disk: " $disk
    sync
    state=`grep " $disk " /proc/diskstats`
    # scsi-stop /dev/$disk
    sdparm --command=stop /dev/$disk
    up=0
    fi
    fi
    else
    logger -t spindown "disk: " $disk " is up"
    count=$interval
    state="$newstate"
    up=1
    fi
    done
    ---end---