A system that goes to sleep (suspend) cannot run regularly scheduled cronjobs. Fortunately anacron is already installed, and runs the scripts in
/etc/cron.monthly in the hour after the system wakes up.
The problem is that these scripts run as
root rather than a regular user. You can use
sudo to run parts of the script as another user.
#!/bin/bash set -eo pipefail sudo -u ian -i <<SUDO <executed as non-privileged user> SUDO
chmod this shell script.
chmod u+x /etc/cron.daily/script