Encrypt and backup folder to email daily, when online
I would make the following changes, in order to make it more robust, and simpler:


Do not use openssl and symmetric encryption.  Use gpg and public key encryption.  The advantage is that you do not have to store any passwords, anywhere (keep the secret key away from the backup script).  Public key encryption is great for backups (you only need to access your secret key when you have to restore a backup, which happens rarely).
Do not mess around with timestamp files.  Instead, keep the last archive around, and inspect the datestamp of the archive (you can use find &lt;path&gt; -ctime 1 to see if the archive is older than 24 hours).  If your last backup is too old, make a new one.  Keeping one old backup around is another safety line for you, even though it's only stored locally.
Do not use a cron job.  Instead, invoke your script from a DHCP exit hook, which is run whenever your computer acquires an IP address.  You can then check if you have Internet access, and mail your backup straight away.  This also works if you're only online for a short while (and your cron job might miss that window of opportunity).
Check exit codes of everything and make sure your script alerts you somehow if things went wrong.  You might need to find a way to interface with your desktop environment in order to do that (notify-send works in Ubuntu).