Czy można (7 dni) zaplanować czas uśpienia dysku twardego?

9

Szukam sposobu na zaplanowanie, kiedy zewnętrzny dysk twardy podłączony do mojego Linuxa (Debian 9) przejdzie w tryb uśpienia (przestanie się obracać).

Aby umieścić to w treści: Mam Linux-a, który działa jako serwer multimediów. Jeśli zostanie wykonane połączenie w celu pobrania zawartości z zewnętrznego dysku twardego, przebudzenie dysku twardego i rozpoczęcie wirowania zajmuje często 15-30 sekund, co a) jest frustrujące, a b) czasami powoduje przekroczenie limitu czasu na serwerze multimediów. Mógłbym ustawić dysk twardy w tryb czuwania i obracania się 24/7, ale wydaje się to stratą, gdy przez większość czasu korzystam z serwera multimediów tylko wtedy, gdy jestem w domu.

Czy jest jakieś narzędzie programowe lub polecenie, którego mógłbym użyć do ustawienia tygodniowego harmonogramu, w którym dysk twardy się obraca - np. Od poniedziałku do piątku: WIROWANIE między 17:00 a 23:00 sobota-niedziela: WIROWANIE między 15:00 a 23:00 POZOSTAŁE WIROWANIE na żądanie i sen zgodnie z zegar systemowy

Alex Ward
źródło
1
Zmniejszasz więc czas działania dysku, ale uruchamianie / zatrzymywanie dysku -40 razy w tygodniu. Uruchamianie / zatrzymywanie dysku nie odbywa się bez jego kosztów. O ile prąd nie jest tam bardzo drogi, może nie być wart wysiłku.
waltinator
1
@waltinator Nowoczesne dyski twarde są zaprojektowane do obsługi setek tysięcy cykli start-stop, więc jeden cykl dziennie nie jest absolutnie szkodliwy. Zabicie dysku twardego z nadmiernej liczby spinów w tym tempie zajmie dosłownie tysiąc lat. W ogóle bardziej martwiłbym się godzinami bezużytecznego wirowania.
Dmitrij Grigoriew
@waltinator Uczciwy argument, ale chodzi o to, że w rzeczywistości spowodowałoby to ZMNIEJSZANIE netto liczby spinów w górę / w dół, ponieważ w tej chwili obraca się w górę i w dół mniej więcej za każdym razem, gdy żądana jest zawartość z serwera multimediów, szczególnie podczas razy chcę planować. Jak mówisz, prawdopodobnie kosztuje to więcej energii za każdym razem, gdy napęd się obraca - więc pozostawienie go w ruchu wieczorami prawdopodobnie zmniejszy zużycie energii.
Alex Ward

Odpowiedzi:

17

Kolaboracja pozwoliłaby na to:

# At 11pm every day, enable sleep after 30s
0 23 * * * /sbin/hdparm -S6 /dev/disk/by-id/...

# At 5pm on weekdays, disable sleeping
0 17 * * 1-5 /sbin/hdparm -S0 /dev/disk/by-id/...

# At 3pm on the weekend, disable sleeping
0 15 * * 0,6 /sbin/hdparm -S0 /dev/disk/by-id/...
Stephen Kitt
źródło