#!/bin/sh # # Usage: mydisksync [noboot] # is tm02, tm03 that we copy to (assume FROM tm01) # noboot -- do NOT copy boot sectors for raw entire disk # fromdisk=tm01 disk=$1 doboot=$2 case "$disk" in '') disk=tm02 echo Assuming $disk ;; tm??) echo You selected $disk ;; *) echo OUCH bad disk arg input: $disk exit 1 ;; esac case "$doboot" in ''|boot|yes) doboot=boot echo Will copy boot sectors ;; 'noboot') echo Will NOT copy boot sectors ;; *) echo OUCH bad boot arg input: $doboot exit 1 ;; esac set -ex ## echo press ENTER to continue... ## read junk # backup_unmounted [rootdev] backup_unmounted() { set -e suffix="$1" from_partition="$fromdisk"-"$suffix" to_partition="$disk"-"$suffix" echo BACKUP UNmounted $from_partition $to_partition $2 mount -o ro LABEL=$from_partition /media/backupFrom mount LABEL=$to_partition /media/backupDisk rsync -avx --delete /media/backupFrom/. /media/backupDisk/. case "$2" in rootdev) cp -a /dev/console /media/backupDisk/dev/. cp -a /dev/null /media/backupDisk/dev/. ;; esac umount /media/backupDisk umount /media/backupFrom } # backup_mounted [rootdev] backup_mounted() { set -e fromdir="$1" suffix="$2" to_partition="$disk"-"$suffix" echo BACKUP MOUNTED $fromdir $to_partition $3 mount LABEL=$to_partition /media/backupDisk rsync -avx --delete $fromdir/. /media/backupDisk/. case "$3" in rootdev) cp -a /dev/console /media/backupDisk/dev/. cp -a /dev/null /media/backupDisk/dev/. ;; esac umount /media/backupDisk } # partition 1 is ubunto root partition ## backup_unmounted 1 rootdev backup_mounted / 1 rootdev # partition 5 was /boot but not using this anymore ## backup_unmounted boot # partition 6 /home backup_mounted /home home # partition 7 /local backup_mounted /local local # partition 8 /merrill backup_mounted /merrill merrill # partition 9 unused # partition 10 --OLD-- Debian w/ KDE ## backup_mounted / root rootdev backup_unmounted root rootdev # partition 11 swap # partition 12 was for ubuntu # backup_unmounted ubuntu rootdev # partition 13 /tmp (no backup needed) # partition 14 /a backup_mounted /a a # partition 15 /m backup_mounted /m m echo BACKUP OF BOOT SECTORS disk_device=/dev/`readlink /dev/disk/by-label/$disk-1 | sed -e 's/.*\///' | tr -d '0123456789'` echo BOOT SECTORS on $disk_device if [ "$doboot" = boot ] then dd bs=512 count=63 if=/dev/sda of=$disk_device else echo echo Skipping backup of boot from $disk_device echo fi echo DONE OK