diff --git a/homedir.makefile/Makefile b/homedir.makefile/Makefile index 7e15682..3fe7d2b 100644 --- a/homedir.makefile/Makefile +++ b/homedir.makefile/Makefile @@ -37,10 +37,25 @@ cleanup: clean: cleanup @echo $(PREFIX) $@ $(SUFFIX) - @-rm -rf ~/tmp/* + @-rm -rf ~/.tmp/* @-rm -rf ~/Library/Caches/* @-rm -rf ~/.Trash/* @-rm -rf $(JUNKFILES) size: du -sh $(HOME) + +lifeboat: + mkdir -p $(HOME)/tmp/lifeboat.$(YYYYMM) + rsync -avP --exclude='*.pkg' $(HOME)/.ssh/ $(HOME)/tmp/lifeboat.$(YYYYMM)/sshkey/ + rsync -avP --exclude='*.pkg' $(HOME)/.gnupg/ $(HOME)/tmp/lifeboat.$(YYYYMM)/gnupgkeys/ + rsync -avP $(HOME)/Library/ApplicationSupport/Bitcoin/wallet.dat \ + $(HOME)/tmp/lifeboat.$(YYYYMM)/wallet.dat + tar -c $(HOME)/tmp/lifeboat.$(YYYYMM) | bzip2 | \ + gpg --symmetric -a -o $(HOME)/lifeboat.$(YYYYMM).gpg + rm -rf $(HOME)/tmp/lifeboat.$(YYYYMM) + +verify: + duplicity verify --exclude-globbing-filelist \ + $(HOME)/.local/etc/duplicity.exclude \ + file:///Volumes/EXTUSB01/dup/ ~ diff --git a/osxbackup/backup.command b/osxbackup/backup.command index 69d64dc..55d1b80 100755 --- a/osxbackup/backup.command +++ b/osxbackup/backup.command @@ -7,76 +7,12 @@ NOW="`date +%Y%m%d.%H%M%S`" -BACKUPDEST=${BACKUPDEST:-"/Volumes/ExternalBackup/sneak.backup"} +#RBACKUPDEST=${RBACKUPDEST:-"sftp://sneak@datavibe.net/backup"} +RBACKUPDEST=${RBACKUPDEST:-"file:///Volumes/EXTUSB01/dup/"} -RSYNC="rsync.3.0.9" -OPTS="-rlptDPSyzh --no-owner --no-group --delete-excluded --delete" - -RE="" -RE+=" --exclude=.cache/" -RE+=" --exclude=/Desktop/" # desktop is like a visible tempdir. -RE+=" --exclude=/Library/Safari/" -RE+=" --exclude=/Downloads/" -RE+=" --exclude=/Library/Application?Support/Ableton/" -# evernote syncs to its server: -RE+=" --exclude=/Library/Application?Support/Evernote/" -RE+=" --exclude=/Library/Application?Support/InsomniaX/" -RE+=" --exclude=/Music/iTunes/Album?Artwork/" -RE+=" --exclude=/Documents/Steam?Content/" -RE+=" --exclude=/.dropbox/" -RE+=" --exclude=/Documents/Dropbox/.dropbox.cache/" -RE+=" --exclude=/.cpan/build/" -RE+=" --exclude=/.cpan/sources/" -RE+=" --exclude=/Library/Logs/" -# keep your mail on the server! -RE+=" --exclude=/Library/Mail/" -RE+=" --exclude=/Library/Mail?Downloads/" -RE+=" --exclude=/Library/Application?Support/SecondLife/cache/" -RE+=" --exclude=/Library/Caches/" -RE+=" --exclude=/Library/Developer/Xcode/DerivedData/" -RE+=" --exclude=/Library/Developer/Shared/Documentation/" -RE+=" --exclude=/Library/iTunes/iPhone?Software?Updates/" -RE+=" --exclude=/Library/iTunes/iPad?Software?Updates/" -RE+=" --exclude=/Pictures/iPod?Photo?Cache/" -RE+=" --exclude=/Library/Application?Support/SyncServices/" -RE+=" --exclude=/Library/Application?Support/MobileSync/" -RE+=" --exclude=/Library/Application?Support/Adobe/Adobe?Device?Central?CS4/" -RE+=" --exclude=/Library/Safari/HistoryIndex.sk" -RE+=" --exclude=/Library/Application?Support/CrossOver?Games/" -RE+=" --exclude=/Library/Preferences/Macromedia/Flash?Player/" -RE+=" --exclude=/Library/PubSub/" -RE+=" --exclude=/Library/Cookies/" -RE+=" --exclude=/Library/Preferences/SDMHelpData/" -RE+=" --exclude=/Receivd/" -RE+=" --exclude=/Library/Application?Support/Steam/SteamApps/" -RE+=" --exclude=/VirtualBox?VMs/" -MINRE="" -MINRE+=" --exclude=/.fseventsd/" -MINRE+=" --exclude=/.Spotlight-V100/" -MINRE+=" --exclude=/.Trash/" -MINRE+=" --exclude=/.Trashes/" -MINRE+=" --exclude=/tmp/" -MINRE+=" --exclude=/.TemporaryItems/" -MINRE+=" --exclude=/.rnd/" -MINRE+=" --exclude=.DS_Store" - -RE+=" ${MINRE}" - -if [ ! -e "${BACKUPDEST}" ]; then - echo "backup destination $BACKUPDEST not available!" > /dev/stderr - exit 127 -fi - -RETVAL=255 -while [ $RETVAL -ne 0 ]; do - $RSYNC $OPTS $RE ${HOME}/ ${BACKUPDEST}/Home/ - RETVAL=$? - sleep 1; -done - -RETVAL=255 -while [ $RETVAL -ne 0 ]; do - $RSYNC $OPTS /Applications/ ${BACKUPDEST}/Applications/ - RETVAL=$? - sleep 1; -done +#OPTS="--encrypt-sign-key 1921C0F4" +OPTS+=" -v 5" +OPTS+=" --exclude-globbing-filelist ${HOME}/.local/etc/duplicity.exclude" +OPTS+=" --volsize 256" +OPTS+=" --asynchronous-upload" +duplicity $OPTS $RE ${HOME}/ $RBACKUPDEST diff --git a/osxbackup/remotebackup.command b/osxbackup/remotebackup.command new file mode 100755 index 0000000..59b727a --- /dev/null +++ b/osxbackup/remotebackup.command @@ -0,0 +1,5 @@ +#!/bin/bash + +HOSTNAME="`hostname -s`" +export RBACKUPDEST="s3+http://${HOSTNAME}.duplicitybackup" +backup.command diff --git a/osxbackup/rsyncbackup.command b/osxbackup/rsyncbackup.command new file mode 100755 index 0000000..69d64dc --- /dev/null +++ b/osxbackup/rsyncbackup.command @@ -0,0 +1,82 @@ +#!/bin/bash + +# mac homedir backup script. +# by jeffrey paul +# 5539 AD00 DE4C 42F3 AFE1 1575 0524 43F4 DF2A 55C2 +# see README + +NOW="`date +%Y%m%d.%H%M%S`" + +BACKUPDEST=${BACKUPDEST:-"/Volumes/ExternalBackup/sneak.backup"} + +RSYNC="rsync.3.0.9" +OPTS="-rlptDPSyzh --no-owner --no-group --delete-excluded --delete" + +RE="" +RE+=" --exclude=.cache/" +RE+=" --exclude=/Desktop/" # desktop is like a visible tempdir. +RE+=" --exclude=/Library/Safari/" +RE+=" --exclude=/Downloads/" +RE+=" --exclude=/Library/Application?Support/Ableton/" +# evernote syncs to its server: +RE+=" --exclude=/Library/Application?Support/Evernote/" +RE+=" --exclude=/Library/Application?Support/InsomniaX/" +RE+=" --exclude=/Music/iTunes/Album?Artwork/" +RE+=" --exclude=/Documents/Steam?Content/" +RE+=" --exclude=/.dropbox/" +RE+=" --exclude=/Documents/Dropbox/.dropbox.cache/" +RE+=" --exclude=/.cpan/build/" +RE+=" --exclude=/.cpan/sources/" +RE+=" --exclude=/Library/Logs/" +# keep your mail on the server! +RE+=" --exclude=/Library/Mail/" +RE+=" --exclude=/Library/Mail?Downloads/" +RE+=" --exclude=/Library/Application?Support/SecondLife/cache/" +RE+=" --exclude=/Library/Caches/" +RE+=" --exclude=/Library/Developer/Xcode/DerivedData/" +RE+=" --exclude=/Library/Developer/Shared/Documentation/" +RE+=" --exclude=/Library/iTunes/iPhone?Software?Updates/" +RE+=" --exclude=/Library/iTunes/iPad?Software?Updates/" +RE+=" --exclude=/Pictures/iPod?Photo?Cache/" +RE+=" --exclude=/Library/Application?Support/SyncServices/" +RE+=" --exclude=/Library/Application?Support/MobileSync/" +RE+=" --exclude=/Library/Application?Support/Adobe/Adobe?Device?Central?CS4/" +RE+=" --exclude=/Library/Safari/HistoryIndex.sk" +RE+=" --exclude=/Library/Application?Support/CrossOver?Games/" +RE+=" --exclude=/Library/Preferences/Macromedia/Flash?Player/" +RE+=" --exclude=/Library/PubSub/" +RE+=" --exclude=/Library/Cookies/" +RE+=" --exclude=/Library/Preferences/SDMHelpData/" +RE+=" --exclude=/Receivd/" +RE+=" --exclude=/Library/Application?Support/Steam/SteamApps/" +RE+=" --exclude=/VirtualBox?VMs/" +MINRE="" +MINRE+=" --exclude=/.fseventsd/" +MINRE+=" --exclude=/.Spotlight-V100/" +MINRE+=" --exclude=/.Trash/" +MINRE+=" --exclude=/.Trashes/" +MINRE+=" --exclude=/tmp/" +MINRE+=" --exclude=/.TemporaryItems/" +MINRE+=" --exclude=/.rnd/" +MINRE+=" --exclude=.DS_Store" + +RE+=" ${MINRE}" + +if [ ! -e "${BACKUPDEST}" ]; then + echo "backup destination $BACKUPDEST not available!" > /dev/stderr + exit 127 +fi + +RETVAL=255 +while [ $RETVAL -ne 0 ]; do + $RSYNC $OPTS $RE ${HOME}/ ${BACKUPDEST}/Home/ + RETVAL=$? + sleep 1; +done + +RETVAL=255 +while [ $RETVAL -ne 0 ]; do + $RSYNC $OPTS /Applications/ ${BACKUPDEST}/Applications/ + RETVAL=$? + sleep 1; +done