Apakah mungkin untuk (7 hari) menjadwalkan waktu tidur hard drive?

9

Saya mencari cara untuk menjadwalkan ketika hard drive eksternal terhubung ke Linux saya (Debian 9) kotak tertidur (berhenti berputar).

Untuk memasukkan ini ke dalam konten: Saya memiliki kotak Linux yang berjalan sebagai server multimedia. Jika ada panggilan untuk mengambil konten yang ada di hard drive eksternal, sering diperlukan 15-30 detik untuk membangunkan dan mulai memutar yang a) membuat frustrasi dan b) kadang-kadang menyebabkan timeout dengan server multimedia. Saya dapat mengatur hard drive agar tetap aktif dan berputar 24/7, tetapi ini sepertinya sia-sia ketika sebagian besar waktu saya hanya menggunakan server multimedia ketika saya di rumah.

Apakah ada alat atau perintah perangkat lunak yang dapat saya gunakan untuk mengatur jadwal mingguan ketika hard drive berputar - mis. Senin-Jumat: PEMINTALAN antara 17:00 dan 23:00 Sabtu-Minggu: PEMINTALAN antara jam 3 sore dan 11 malam pengatur waktu sistem

Alex Ward
sumber
1
Jadi Anda mengurangi waktu menjalankan disk, tetapi memulai / menghentikan disk Anda -40 kali seminggu. Memulai / menghentikan disk bukan tanpa biaya. Kecuali listrik sangat mahal di tempat Anda berada, itu mungkin tidak sepadan dengan usaha.
waltinator
1
@waltinator HDD Modern dirancang untuk menangani ratusan ribu siklus start-stop, sehingga memiliki satu siklus per hari sama sekali tidak berbahaya. Ini benar-benar akan memakan waktu seribu tahun untuk membunuh HDD dari jumlah terlalu banyak pada tingkat ini. Jika ada, saya akan lebih khawatir tentang jam berputar tidak berguna.
Dmitry Grigoryev
@waltinator Adil argumen, tetapi intinya adalah bahwa ini benar-benar akan menghasilkan PENURUNAN bersih dalam spin up / down, karena saat ini berputar naik atau turun lebih atau kurang setiap kali konten diminta dari server multimedia, terutama selama kali saya ingin penjadwalan. Seperti yang Anda katakan, mungkin membutuhkan lebih banyak energi setiap kali drive berputar - jadi membiarkannya berputar di malam hari mungkin akan mengurangi penggunaan energi.
Alex Ward

Jawaban:

17

Cronjob akan memungkinkan ini:

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