63ac79c5c7c572c2c7ac1d1a134feb8b6338fb44
[backups/.git] / scripts / drive.sh
1 #!/bin/bash
2
3 scriptsdir=$(dirname $0)
4 bindir="$scriptsdir/../build"
5
6 datadir="/var/lib/backups"
7 tmpdir="/dev/shm/backups"
8
9 mkdir -p $tmpdir
10 chmod 700 $tmpdir
11
12 export PATH=$scriptsdir:$bindir:$PATH
13
14 files="$tmpdir/files.db"
15 touch $files
16 chmod 600 $files
17 echo "Running find to get the status of files"
18 find-cmd.sh /home > $files
19
20 db="$datadir/backups.db"
21 backups="$tmpdir/backup-list.db"
22 statusfile="$tmpdir/backup-status.txt"
23
24 echo "Determining list of files to backup with lsbackups"
25 cat $files | lsbackups > $backups 2>$statusfile
26
27 isomountdir="/backup/iso-mount"
28 isoimage="/backup/iso-mount.iso"
29
30 echo "Creating the iso image in $isoimage"
31 touch $isoimage
32 # chmod 600 $isoimage
33
34 # Create filesystem on iso image here
35 dd if=/dev/zero of=$isoimage bs=2048k count=2220
36 mke2fs -b 2048 -F $isoimage
37
38 echo "Mounting the iso image"
39 # Mount iso image here
40 mount -t ext2 -o loop $isoimage $isomountdir
41
42 echo "Running rsync to pack the image"
43 cat $backups | rsync-cmd.sh $isomountdir
44
45 echo "Copying over database and status file"
46 cp $statusfile $db $isomountdir
47
48 # umount $isomountdir
49
50 # Burn the iso image
51 # dvdrecord [-dummy] [-overburn] -dao speed=8 dev=[ATAPI:]?,?,? iso-image.iso
52 cat $statusfile | mailx -s "DVD Image available on ball, burn it!" carl@ecbaldwin.net