I run it from a cron job. Actually just a single crontab line:
When the cron job stopped completing a couple of months ago, and the usual posted solutions (clearing out the /tmp files; restarting, etc.) had no discernible effect, I got into the habit of running mythfilldatabase manually from a terminal every three or four days. Which worked.
4 2 * * * /usr/bin/mythfilldatabase --dd-grab-all --logpath /var/log
But I became so annoyed at remembering to run mythfilldatabase manually, that I wrote an 'expect' script as a cron job for another machine on my network --the second machine would spawn an ssh thread, log into my master backend machine, and run mythfilldatabase. The script worked, but mythfilldatabase would still fail on this type of job, with the same "dd datagrab failed" errors. Running mythfilldatabase manually still worked.
So I was surprised today when I noticed, as I was about to manually run mythfilldatabase again, that the cron and cron/ssh runs of mythfilldatabase had both been completing successfully for the last couple of days without any further steps having been taken on my part.