I will run this script from crontab.
Code: Select all
#!/bin/sh
## REQUIRES 'sudo' or run from crontab
# Exit on errors?
set -e
#Start with an empty backup.txt file
[ -f /home/charles/backup.txt ] && rm /home/charles/backup.txt || touch /home/charles/backup.txt
date >> /home/charles/backup.txt
echo >> /home/charles/backup.txt
# Sync the Primary and Backup discs
echo "Beginning backups" >> /home/charles/backup.txt
rsync -au --delete --ignore-errors /media/charles/Primary/* /media/charles/Backup
echo >> /home/charles/backup.txt
# Backup the /home directory
rsync -au --delete --ignore-errors /home/ /media/charles/Laptop/home
cd /media/charles/Laptop/home
# Remove hidden directories, but save hidden files
find -type d -name '.*' -and -not -name '.' -print0 | xargs -0 rm -rf
# Make backup.txt belong to charles
chown charles /home/charles/backup.txt
# Make Laptop/home belong to charles
chown charles /media/charles/Laptop/home
echo -n "Backups completed at " >> /home/charles/backup.txt; date >> /home/charles/backup.txt
echo >> /home/charles/backup.txt
exit
That gives me the desired result for my 'log' file, but how should I test for error reporting?
i.e. what should I bork to generate an error for testing purposes?
TIA,
Charles