HCoop
/
clinton
/
scripts.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
hcoop-backups: Further tweak permissions.
[clinton/scripts.git]
/
hcoop-backup
diff --git
a/hcoop-backup
b/hcoop-backup
index
9ce8a34
..
31dc4f2
100755
(executable)
--- a/
hcoop-backup
+++ b/
hcoop-backup
@@
-8,32
+8,35
@@
# run this script as root, on deleuze
#
# run this script as root, on deleuze
#
-exec >& /var/log/backup-to-s3-log
-
PATH=$PATH:/bin:/usr/bin:/sbin:/usr/sbin
#COMPRESS_EXT=.bz2
#COMPRESS_PROG=bzip2
COMPRESS_EXT=.gz
COMPRESS_PROG=gzip
KEYFILE=/etc/backup-encryption-key
PATH=$PATH:/bin:/usr/bin:/sbin:/usr/sbin
#COMPRESS_EXT=.bz2
#COMPRESS_PROG=bzip2
COMPRESS_EXT=.gz
COMPRESS_PROG=gzip
KEYFILE=/etc/backup-encryption-key
-BACKUPTMP=/var/backups/hcoop-backup
-testing
-CURDATE=$(date +%Y.%m.%d)
+BACKUPTMP=/var/backups/hcoop-backup
+CURDATE=$(date
-u
+%Y.%m.%d)
-MOVE_OVER=$(dirname $0)/
s3-move
+MOVE_OVER=$(dirname $0)/
rsync.net-move-over
IFS=$'\n'
IFS=$'\n'
-#prune_old_backups
+# Initialize storage area
+RSYNCDIR=/vicepa/hcoop-backups/files
+rm -fr $RSYNCDIR
+mkdir -p $RSYNCDIR/$CURDATE
+chmod og=rx $RSYNCDIR
+chmod og= $RSYNCDIR/$CURDATE
+# Initialize backup staging area
mkdir -p $BACKUPTMP
cd $BACKUPTMP
groups
mkdir -p $BACKUPTMP
cd $BACKUPTMP
groups
-echo 'I am in:'
-pwd
+echo "I am in: $(pwd)"
echo
echo
-echo
building package lists...
+echo
"Building package lists..."
dpkg-query -W -f='${Package}\n' > packages
(cd /; find / /usr/ /usr/local/ /var/ -xdev) | sort | uniq > allfiles
dpkg-query -W -f='${Package}\n' | xargs dpkg -L | sort | uniq > debfiles
dpkg-query -W -f='${Package}\n' > packages
(cd /; find / /usr/ /usr/local/ /var/ -xdev) | sort | uniq > allfiles
dpkg-query -W -f='${Package}\n' | xargs dpkg -L | sort | uniq > debfiles
@@
-89,7
+92,7
@@
cat backupfiles | \
grep -v ^/vmlinuz | \
grep -v ^/vmlinuz.old | \
grep -v '^/sbin/[a-z\-]*\.modutils$' | \
grep -v ^/vmlinuz | \
grep -v ^/vmlinuz.old | \
grep -v '^/sbin/[a-z\-]*\.modutils$' | \
- grep -v ^/opt
/dell/srvadmin/
| \
+ grep -v ^/opt | \
grep -v ^/boot/ | \
grep -v ^/dev/ | \
grep -v ^/etc/ | \
grep -v ^/boot/ | \
grep -v ^/dev/ | \
grep -v ^/etc/ | \
@@
-150,20
+153,25
@@
cat volumes | \
"F={}.dump$COMPRESS_EXT.aescrypt ;
vos dump -id {} -localauth -clone |
$COMPRESS_PROG | ccrypt -k $KEYFILE -e |
"F={}.dump$COMPRESS_EXT.aescrypt ;
vos dump -id {} -localauth -clone |
$COMPRESS_PROG | ccrypt -k $KEYFILE -e |
- $MOVE_OVER $CURDATE \$F"
+ $MOVE_OVER $CURDATE \$F"
|| :
-echo
backing up databases
+echo
"Backing up databases ..."
F=databases.tar$COMPRESS_EXT.aescrypt
tar -C /var/backups/databases/ -cf - . | \
$COMPRESS_PROG | \
ccrypt -k $KEYFILE -e | \
$MOVE_OVER $CURDATE $F
F=databases.tar$COMPRESS_EXT.aescrypt
tar -C /var/backups/databases/ -cf - . | \
$COMPRESS_PROG | \
ccrypt -k $KEYFILE -e | \
$MOVE_OVER $CURDATE $F
+# Update file permissions so that rsync.net can access the backups
+chmod -R go=,u-w $RSYNCDIR
+chmod u+w $RSYNCDIR $RSYNCDIR/$CURDATE
+chown -R rsync $RSYNCDIR/$CURDATE
+
+# Complain to admins if there are unknown files
grep '[a-z/]' complain && \
mail -a 'From: The Backup Program <backups@deleuze.hcoop.net>' \
-s "automated message: annoying files found on deleuze (please do something about them)" admins@hcoop.net \
< complain \
grep '[a-z/]' complain && \
mail -a 'From: The Backup Program <backups@deleuze.hcoop.net>' \
-s "automated message: annoying files found on deleuze (please do something about them)" admins@hcoop.net \
< complain \
- || true
-
-echo done
+ || :
+echo "Done."