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