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

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

Estoy buscando una manera de programar cuándo un disco duro externo conectado a mi caja Linux (Debian 9) entra en suspensión (deja de girar).

Para poner esto en contenido: tengo una máquina Linux que se ejecuta como un servidor multimedia. Si se realiza una llamada para recuperar contenido que está en el disco duro externo, a menudo el disco duro tarda entre 15 y 30 segundos en activarse y comenzar a girar, lo que a) es frustrante yb) a veces provoca tiempos de espera con el servidor multimedia. Podría configurar el disco duro para que esté activo y girando las 24 horas del día, los 7 días de la semana, pero esto parece un desperdicio cuando la mayor parte del tiempo solo uso el servidor multimedia cuando estoy en casa.

¿Existe alguna herramienta de software o comando que pueda usar para establecer un horario semanal para cuando el disco duro esté girando? Por ejemplo, de lunes a viernes: GIRAR entre las 5 p. m. y las 11 p. m. Sábado-domingo: GIRAR entre las 3 p. m. y las 11 p. m. DE LO CONTRARIO, GIRAR según demanda y dormir según lo indicado temporizador del sistema

Respuesta1

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/...

información relacionada