I finally got the above scripts running as shell scripts, then using cron to call the script itself. So easy and so basic, it's embarrassing to be posting it to such a learned forum, especially after all these years. :)
The main motivation to finally learn how to script this came via adapting scripts to automate ACME's Let's Encrypt SSL certs into my UniFi controller, which I have running on my pfSense box (https://community.ubnt.com/t5/UniFi-Wireless/Unifi-Cloud-key-certificate-installation/m-p/2437833#M312944)
Anyway, the basic script to automate adblock hosts file updates is:
#!/bin/sh
FILE="/etc/adblock"
/usr/bin/fetch -q -o ${FILE}.new http://winhelp2002.mvps.org/hosts.txt &&
if [ -s ${FILE}.new ]; then if [ -f ${FILE} ] ; then /bin/mv ${FILE} ${FILE}.old ; fi &&
/bin/mv ${FILE}.new ${FILE} &&
/usr/local/sbin/pfSctl -c "service reload dns" &&
if [ -f ${FILE}.old ]; then /bin/rm -f ${FILE}.old ; fi ; fi
Obviously the file name (FILE) and download source can be easily varied according to need. Simply make the script executable (chmod +x) and then point cron to run it whenever you want.