Cute! 😀
It mostly works. I think line 103 should maybe be:
os.remove(os.path.join(cdata, "teat.txt"))
So, “teat.txt” instead of “eat.txt”. I think this prevents the cat from ever getting happy since that line causes an error and it never reaches image.set_from_file(os.path.join(current_dir, "data/happy.png"))
which is very sad!
Actually, you may just want to catch the error if the file happens to not exist. Like this:
try:
os.remove(os.path.join(cdata, "teat.txt"))
except FileNotFoundError:
pass
I just use the built-in email function that comes with mdadm. If a drive fails, I’ll know right away and replace it with a spare. You do need your server to be able to send emails with something like postfix.
If you have hardware RAID, there’s often a monitoring tool that comes with it or at the very least a command-line utility that can report the RAID state which you can then use in a script.
I managed to fit an entire Matrix Synapse server on one of those. It works surprisingly well! You will need a domain for it though.
I have two machines that back up to a local server using Borg. That whole server in turn backs up to Jottacloud using restic with encryption enabled.
By the way, I wouldn’t use rclone for backups. Use restic or something similar that does incremental backups. Because if you do rclone and then later discover that some files were corrupted locally, then your files are gone. With incremental backups you would still be able to retrieve them.
Oh, or do you mean backing up the stuff that is on the cloud?
Oh, I see. You fixed that one in 1.2. That wasn’t there yet when I commented. :)
Yeah, works great now!