Anonymous user
Backups of the live site (moved): Difference between revisions
no edit summary
imported>Paulproteus No edit summary |
imported>Paulproteus No edit summary |
||
Line 1:
{{Hacking OpenHatch}}
== Overview ===
We have a free, donated account from rsync.net that lets us store 50GB of data there.
We use duplicity (as per the rsync.net [http://www.rsync.net/resources/howto/duplicity.html official document]
We encrypt these backups.
== Details ==
We use this script to run backups. It runs via root's crontab, and emails the results to Asheesh daily. (FIXME: The script should email monitoring-private AT lists.openhatch.org instead.)
<pre>
#!/bin/bash
set -e
set -x
MODE="incr"
DAY_OF_WEEK_AS_NUMBER="$(date +%u)"
if [ "$DAY_OF_WEEK_AS_NUMBER" -eq 6 ] ; then
MODE="full"
fi
### Prepare mysql snapshots
for db in $(find /var/lib/mysql/ -mindepth 1 -maxdepth 1 -type d | sed 's,/var/lib/mysql/,,')
do
mysqldump -uroot --single-transaction -p"$(cat /root/passwords/mysql-root-password)" "$db" | gzip | sponge /var/backups/mysql/"$db".sql.gz
done
function do_backup() {
TARGET="backups/linode.openhatch.org/$1"
LOCAL_PATH="$2"
ssh rsync.net mkdir -p "$TARGET"
duplicity $MODE --exclude /tmp --exclude /var/lib/mysql --exclude /usr/share/locale --exclude /usr/share/doc --exclude /var/tmp --exclude /var/cache --exclude-other-filesystems --encrypt-key="A5CC321E" "$LOCAL_PATH" scp://rsync.net/"$TARGET"
}
do_backup "all" "/"
</pre>
== Restoring ==
Untested as yet. http://openhatch.org/bugs/issue530 describes that
duplicity has a built-in "verify" feature, which checksums the data, but that doesn't help us ensure that our backup was complete.
== More info about encryption ==
|