I wrote a script (modified from one I found on the internet) to mount my backup drive and rsync my home director plus the myth directory over to it. The script looks like:
Code:
#!/bin/sh
# Author: Brice Burgess - bhb@iceburg.net
# backup.sh -- backup to a local drive using rsync
TODAY=$(date +%B\ %d,\ %Y\ at\ %H\:%M)
echo " .: Backup Routine for" $TODAY ":." >> /myth/logs/backup_log.txt
# Directories to backup. Separate with a space. Exclude trailing slash!
SOURCES="/home/mythtv /myth"
# Directory to backup to. This is where your backup(s) will be stored.
# Exclude trailing slash!
TARGET="/backup"
# Backup hard drive
BACKUP_HD="/dev/sdb1"
# Your EXCLUDE_FILE tells rsync what NOT to backup. Leave it unchanged if you want
# to backup all files in your SOURCES. If performing a FULL SYSTEM BACKUP, ie.
# Your SOURCES is set to "/", you will need to make use of EXCLUDE_FILE.
# The file should contain directories and filenames, one per line.
# An example of a EXCLUDE_FILE would be:
# /proc/
# /tmp/
# /mnt/
# *.SOME_KIND_OF_FILE
EXCLUDE_FILE="/myth/backup/exclude_file.txt"
#Mount backup HD at /backup
echo "Mounting backup HD"
mount -t xfs $BACKUP_HD /backup
# Comment out the following line to disable verbose output
#VERBOSE="-v"
###########################
if [ ! -x $TARGET ]; then
echo "Backup target does not exist or you don't have permission!"
echo "Exiting..."
TODAY=$(date +%B\ %d,\ %Y\ at\ %H\:%M)
echo "Backup target does not exist. Failed on" $TODAY >> /myth/logs/backup_log.txt
exit 2
fi
echo "Verifying Sources..."
for source in $SOURCES; do
echo "Checking $source..."
if [ ! -x $source ]; then
echo "Error with $source!"
echo "Directory either does not exist, or you do not have proper permissions."
TODAY=$(date +%B\ %d,\ %Y\ at\ %H\:%M)
echo "Verifying Sources failed on" $TODAY >> /myth/logs/backup_log.txt
exit 2
fi
done
if [ -f $EXCLUDE_FILE ]; then
EXCLUDE="--exclude-from=$EXCLUDE_FILE"
fi
echo "Sources verified. Running rsync..."
for source in $SOURCES; do
# Create directories in $TARGET to mimick source directory hiearchy
if [ ! -d $TARGET/$source ]; then
mkdir -p $TARGET/$source
fi
rsync $VERBOSE --exclude=$TARGET/ $EXCLUDE -a --delete $source/ $TARGET/$source/
done
TODAY=$(date +%B\ %d,\ %Y\ at\ %H\:%M)
echo "Backup completed successfully on" $TODAY >> /myth/logs/backup_log.txt
cd /
umount $BACKUP_HD
TODAY=$(date +%B\ %d,\ %Y\ at\ %H\:%M)
echo $BACKUP_HD "unmounted successfully on" $TODAY >> /myth/logs/backup_log.txt
exit 0
Running normally in the console it produces just this:
Code:
.: Backup Routine for December 31, 2006 at 11:59 :.
Backup completed successfully on December 31, 2006 at 11:59
/dev/sdb1 unmounted successfully on December 31, 2006 at 11:59
It's meant to run at 2am everyday from the crontab with this:
Code:
* 2 * * * root backup_rsync.sh
Unfortunately, last night (the first time it ever ran by itself with crontab), it seemed to go into a loop for almost 3 hours. The log for that period says:
Code:
.: Backup Routine for December 31, 2006 at 02:00 :.
.: Backup Routine for December 31, 2006 at 02:01 :.
.: Backup Routine for December 31, 2006 at 02:02 :.
.: Backup Routine for December 31, 2006 at 02:03 :.
.: Backup Routine for December 31, 2006 at 02:04 :.
.: Backup Routine for December 31, 2006 at 02:05 :.
.: Backup Routine for December 31, 2006 at 02:06 :.
.: Backup Routine for December 31, 2006 at 02:07 :.
Backup completed successfully on December 31, 2006 at 02:07
/dev/sdb1 unmounted successfully on December 31, 2006 at 02:07
.: Backup Routine for December 31, 2006 at 02:08 :.
.: Backup Routine for December 31, 2006 at 02:09 :.
.: Backup Routine for December 31, 2006 at 02:10 :.
.: Backup Routine for December 31, 2006 at 02:11 :.
.: Backup Routine for December 31, 2006 at 02:12 :.
.: Backup Routine for December 31, 2006 at 02:13 :.
.: Backup Routine for December 31, 2006 at 02:14 :.
.: Backup Routine for December 31, 2006 at 02:15 :.
Backup completed successfully on December 31, 2006 at 02:15
/dev/sdb1 unmounted successfully on December 31, 2006 at 02:15
.: Backup Routine for December 31, 2006 at 02:16 :.
.: Backup Routine for December 31, 2006 at 02:17 :.
Backup completed successfully on December 31, 2006 at 02:17
/dev/sdb1 unmounted successfully on December 31, 2006 at 02:17
.: Backup Routine for December 31, 2006 at 02:18 :.
.: Backup Routine for December 31, 2006 at 02:19 :.
.: Backup Routine for December 31, 2006 at 02:20 :.
Backup completed successfully on December 31, 2006 at 02:20
/dev/sdb1 unmounted successfully on December 31, 2006 at 02:20
.: Backup Routine for December 31, 2006 at 02:21 :.
.: Backup Routine for December 31, 2006 at 02:22 :.
.: Backup Routine for December 31, 2006 at 02:23 :.
.: Backup Routine for December 31, 2006 at 02:24 :.
.: Backup Routine for December 31, 2006 at 02:25 :.
.: Backup Routine for December 31, 2006 at 02:26 :.
.: Backup Routine for December 31, 2006 at 02:27 :.
.: Backup Routine for December 31, 2006 at 02:28 :.
.: Backup Routine for December 31, 2006 at 02:29 :.
Backup completed successfully on December 31, 2006 at 02:29
/dev/sdb1 unmounted successfully on December 31, 2006 at 02:29
.: Backup Routine for December 31, 2006 at 02:30 :.
.: Backup Routine for December 31, 2006 at 02:31 :.
.: Backup Routine for December 31, 2006 at 02:32 :.
.: Backup Routine for December 31, 2006 at 02:33 :.
.: Backup Routine for December 31, 2006 at 02:34 :.
.: Backup Routine for December 31, 2006 at 02:35 :.
.: Backup Routine for December 31, 2006 at 02:36 :.
.: Backup Routine for December 31, 2006 at 02:37 :.
.: Backup Routine for December 31, 2006 at 02:38 :.
.: Backup Routine for December 31, 2006 at 02:39 :.
Backup completed successfully on December 31, 2006 at 02:39
/dev/sdb1 unmounted successfully on December 31, 2006 at 02:39
.: Backup Routine for December 31, 2006 at 02:40 :.
.: Backup Routine for December 31, 2006 at 02:41 :.
.: Backup Routine for December 31, 2006 at 02:42 :.
Backup completed successfully on December 31, 2006 at 02:42
/dev/sdb1 unmounted successfully on December 31, 2006 at 02:42
.: Backup Routine for December 31, 2006 at 02:43 :.
.: Backup Routine for December 31, 2006 at 02:44 :.
.: Backup Routine for December 31, 2006 at 02:45 :.
.: Backup Routine for December 31, 2006 at 02:46 :.
.: Backup Routine for December 31, 2006 at 02:47 :.
Backup completed successfully on December 31, 2006 at 02:47
/dev/sdb1 unmounted successfully on December 31, 2006 at 02:47
.: Backup Routine for December 31, 2006 at 02:48 :.
.: Backup Routine for December 31, 2006 at 02:49 :.
.: Backup Routine for December 31, 2006 at 02:50 :.
.: Backup Routine for December 31, 2006 at 02:51 :.
.: Backup Routine for December 31, 2006 at 02:52 :.
.: Backup Routine for December 31, 2006 at 02:53 :.
.: Backup Routine for December 31, 2006 at 02:54 :.
.: Backup Routine for December 31, 2006 at 02:55 :.
.: Backup Routine for December 31, 2006 at 02:56 :.
.: Backup Routine for December 31, 2006 at 02:57 :.
.: Backup Routine for December 31, 2006 at 02:58 :.
Backup completed successfully on December 31, 2006 at 02:58
/dev/sdb1 unmounted successfully on December 31, 2006 at 02:58
.: Backup Routine for December 31, 2006 at 02:59 :.
Backup completed successfully on December 31, 2006 at 03:06
/dev/sdb1 unmounted successfully on December 31, 2006 at 03:06
Backup completed successfully on December 31, 2006 at 03:25
/dev/sdb1 unmounted successfully on December 31, 2006 at 03:25
Backup completed successfully on December 31, 2006 at 03:31
/dev/sdb1 unmounted successfully on December 31, 2006 at 03:31
Backup completed successfully on December 31, 2006 at 03:52
/dev/sdb1 unmounted successfully on December 31, 2006 at 03:52
Backup completed successfully on December 31, 2006 at 03:53
/dev/sdb1 unmounted successfully on December 31, 2006 at 03:53
Backup completed successfully on December 31, 2006 at 03:53
/dev/sdb1 unmounted successfully on December 31, 2006 at 03:53
Backup completed successfully on December 31, 2006 at 04:00
/dev/sdb1 unmounted successfully on December 31, 2006 at 04:00
Backup completed successfully on December 31, 2006 at 04:18
/dev/sdb1 unmounted successfully on December 31, 2006 at 04:18
Backup completed successfully on December 31, 2006 at 04:23
/dev/sdb1 unmounted successfully on December 31, 2006 at 04:23
Backup completed successfully on December 31, 2006 at 04:51
/dev/sdb1 unmounted successfully on December 31, 2006 at 04:51
Backup completed successfully on December 31, 2006 at 05:12
Backup completed successfully on December 31, 2006 at 05:12
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:12
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:12
Backup completed successfully on December 31, 2006 at 05:20
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:20
Backup completed successfully on December 31, 2006 at 05:23
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:23
Backup completed successfully on December 31, 2006 at 05:24
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:24
Backup completed successfully on December 31, 2006 at 05:27
Backup completed successfully on December 31, 2006 at 05:27
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:27
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:27
Backup completed successfully on December 31, 2006 at 05:28
Backup completed successfully on December 31, 2006 at 05:28
Backup completed successfully on December 31, 2006 at 05:28
Backup completed successfully on December 31, 2006 at 05:28
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:28
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:28
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:28
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:28
Backup completed successfully on December 31, 2006 at 05:28
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:28
Backup completed successfully on December 31, 2006 at 05:30
Backup completed successfully on December 31, 2006 at 05:30
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:30
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:30
Backup completed successfully on December 31, 2006 at 05:31
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:31
Backup completed successfully on December 31, 2006 at 05:31
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:31
Backup completed successfully on December 31, 2006 at 05:32
Backup completed successfully on December 31, 2006 at 05:32
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:32
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:32
Backup completed successfully on December 31, 2006 at 05:33
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:33
Backup completed successfully on December 31, 2006 at 05:36
Backup completed successfully on December 31, 2006 at 05:36
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:36
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:36
Backup completed successfully on December 31, 2006 at 05:37
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:37
Backup completed successfully on December 31, 2006 at 05:37
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:37
Backup completed successfully on December 31, 2006 at 05:37
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:37
Backup completed successfully on December 31, 2006 at 05:38
Backup completed successfully on December 31, 2006 at 05:38
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:38
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:38
Backup completed successfully on December 31, 2006 at 05:39
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:39
Backup completed successfully on December 31, 2006 at 05:39
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:39
Backup completed successfully on December 31, 2006 at 05:41
Backup completed successfully on December 31, 2006 at 05:41
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:41
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:41
Backup completed successfully on December 31, 2006 at 05:42
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:42
Backup completed successfully on December 31, 2006 at 05:42
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:42
Backup completed successfully on December 31, 2006 at 05:42
Backup completed successfully on December 31, 2006 at 05:42
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:42
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:42
Backup completed successfully on December 31, 2006 at 05:43
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:43
Backup completed successfully on December 31, 2006 at 05:43
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:43
Backup completed successfully on December 31, 2006 at 05:43
Backup completed successfully on December 31, 2006 at 05:43
Backup completed successfully on December 31, 2006 at 05:43
Backup completed successfully on December 31, 2006 at 05:43
Backup completed successfully on December 31, 2006 at 05:43
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:43
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:43
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:43
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:43
/dev/sdb1 unmounted successfully on December 31, 2006 at 05:43
For some reason it didn't just run once, according to RRDtools, it just worked the processor and all the HD's for about 3 hours and I don't know why. Is something in my crontab messed up?