Shutdown my (backup) hard disk on Linux when I don't use it
Umount the filesystem and then run hdparm -S 1 /dev/sdb
to set it to spin down after five seconds (replace /dev/sdb
with the actual device for the hard disk). This will minimize the power used and heat generated by the hard disk.
Short lookup in gnome-disk-utility repo code, and:
udisksctl power-off -b /dev/sdX
Works in Ubuntu and Mint. In ArchLinux, /usr/bin/udisksctl is owned by udisks2 package.
Source: Superuser SE answer
To further build upon samiam's answer, you can set udev rules to do these things for you.
For this example, you'd have to fill in a file in /etc/udev/rules.d
(ideally name it something along the lines of 45-sdX-power.rules
to respect the conventions, but it doesn't really matter...), with the following:
ACTION=="add", SUBSYSTEM=="block", KERNEL=="sdX", ATTR{queue/rotational}=="1", RUN+="/path/to/hdparm -S 1 /dev/sdX"
where you will need to fill in sdX
and provide the full path to the hdparm
binary (which hdparm
).
This will automatically stop your drive from spinning after 5 seconds of inactivity whenever your laptop boots.
This is ideal for a dual boot disk (my case), and backup disks you only startup once a week or so (in which case just mounting it before issuing your backup will turn it on and it will be off the rest of the time).
As for hdparm -Y /dev/sdX
, it is less useful here as it only stops the disk from spinning once, after which any access to the disk (like mounting it) will re-start it and you will have to issue the command again.