Base
Process Explorer has a special column that tracks the change of the number of bytes read or written by a process:
You might be able to capture the name of the process that is reading or writing data to your secondary HDD this way.
//Edit:
If you know that it is the System process that writes something to the external hard drive, you could trace what the process is doing in the Process Monitor:
Start/stop the capture with Ctrl+E.
Define some of those filters:
//Edit2:
Maybe you could track the thread ID associated with a certain IRP event and then track the thread that caused that IRP event:
I searched for the exact thing a few years ago, for Linux Mint and an old HD that was only used for occasional data storage too.
The solutions I found (don't have the links handy anymore) were the same that it looks like you found: a few hard drives might have a jumper setting that should cause the drive to stay sleeping / not spin up at boot time. But it did not work, my results were the exact same as yours, it still spins up at boot. I didn't find any fixes for that, for all I know it was the BIOS/GRUB/linux, separately or working together, or just the HD itself that wasn't listening.
I did some "hot plug"/"hot swap" testing, connecting the power to a (SATA) hard drive while the computer was up & running. It generated some log entries (dmesg & /var/log/syslog
) and worked successfully. Then when done with the drive (sync, unmount, sleep/hdparm -y
) unplugging the power again. Worked! But it apparently needs a compatible motherboard & OS, so YMMV.
However, pulling the power plug to use the drive isn't very convenient or easy, so I wired up a double-pole single-throw switch - DPST, Wikipedia has a diagram - has 4 terminals, for the 2 separate power wires (12V & 5V?), to keep them separate and turn them both on/off at the same time. Connecting it to the HD's power, I can turn on & off the drive whenever needed.
Update:
Hot swapping used to work on Linux Mint 14/15/16, but for some reason it quit working on 17 & up, I'm guessing some kernel change stopped it. Now hot swapping a hard drive on only appears to work, but the drive reads as corrupted, only a power-on reboot gets it working successfully. Maybe there's an easy way to get it working again, or some recompiled kernel is required with some special switches...?
Update 2
Hot swapping is apparently working again for Ubuntu 16.04 (Mint 18 should work too).
Best Answer
You can use Process Monitor to see what I/O events are happening, or DiskMon for pure I/O.
With Process Monitor you could then filter it so the Path starts with your secondary HDD station letter.
The main reason HDDs spin down is to conserve power. I don't think it helps to prolong the life as it might as well just cause more stress on the HDD due to spinning down and up than just letting it run idle. On the other hand, it does save you some wattages and thus battery power. But why estimate when you can measure?