How frequently should SMART be run on a disk?
I'm not sure what you mean.
You can ask the disk to run a (SMART) self-test. This usually takes some time, and is somewhat stressful for the disk. I'd not recommend to run it more than once in a long while.
On the other hand, you can check the SMART status from the disk. In other words, this means "read the SMART meters from the disk". This operation is simple and fast, and can be run how many times you want.
Supposing you are asking for checking the SMART status, then every 60, 30, 15, 10 or 5 minutes, or whatever is good enough. It doesn't matter. In this case, it is more important WHAT will be done with such reading. Will it be logged? Will it be checked for failure and e-mailed when a failure is detected? After all, it makes little sense to read the status every minute if you, the admin, will only look at this once in a month.
If you need help, maybe the smartmontools project might be useful. (at least you can check its source code to see how often
smartd reads the status)
I run a short SMART test every morning that takes about 5 minutes on all of my 1.5 to 2TB drives. Then once a week I run a long SMART test that takes about 7 hours. I'm under the impression that these tests do not stress the drives in any way and the only confirmation I have of this is that their temperature remains at baseline (about 37C) during the long tests. The outputs are parsed, filtered and emailed back to me in a daily report.
Quote from the official FAQ
If your ATA drive supports self-tests, you should run them on a regular basis, for example one per week:
smartctl -t long /dev/hd?
After the test has completed, you should examine the results with:
smartctl -l selftest /dev/hd?