¿Es posible (7 días) programar el tiempo de suspensión de un disco duro?

9

Estoy buscando una manera de programar cuándo un disco duro externo conectado a mi caja de Linux (Debian 9) se apaga (deja de girar).

Para poner esto en contenido: tengo una caja de Linux que se ejecuta como un servidor multimedia. Si se realiza una llamada para recuperar contenido que se encuentra en el disco duro externo, el disco duro tarda 15-30 segundos en reactivarse y comenzar a girar, lo que a) es frustrante yb) a veces causa tiempos de espera con el servidor multimedia. Podría configurar el disco duro para estar despierto y girando 24/7, pero esto parece un desperdicio cuando la mayoría de las veces solo uso el servidor multimedia cuando estoy en casa.

¿Hay alguna herramienta de software o comando que pueda usar para establecer un horario semanal para cuando el disco duro está girando? temporizador del sistema

Alex Ward
fuente
1
Por lo tanto, está disminuyendo el tiempo de ejecución del disco, pero iniciando / deteniendo su disco -40 veces por semana. Iniciar / detener un disco no está exento de costos. A menos que la electricidad sea muy cara donde se encuentre, puede que no valga la pena el esfuerzo.
waltinator
1
@waltinator Los discos duros modernos están diseñados para manejar cientos de miles de ciclos de inicio-parada, por lo que tener un ciclo por día no es dañino. Literalmente tomará mil años matar el HDD debido a un número excesivo de spin-down a este ritmo. En todo caso, estaría más preocupado por las horas de vueltas inútiles.
Dmitry Grigoryev
@waltinator Argumento justo, pero el punto es que esto en realidad resultaría en una DISMINUCIÓN neta en las subidas y bajadas, ya que en este momento gira más y menos cada vez que se solicita contenido del servidor multimedia, particularmente durante el veces quiero programar. Como usted dice, probablemente cuesta más energía cada vez que el disco gira, por lo que dejarlo girando por las tardes probablemente nivelaría el uso de energía.
Alex Ward,

Respuestas:

17

Un cronjob permitiría esto:

# 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
fuente