Move mail data out of box

This will help us with putting a size on box data

Mail container version is bumped because we want to recreate it

Part of #186
This commit is contained in:
Girish Ramakrishnan
2017-01-20 15:51:01 -08:00
parent 1eb33099af
commit d84666fb43
6 changed files with 26 additions and 16 deletions
+8 -3
View File
@@ -48,13 +48,17 @@ fi
# perform backup
now=$(date "+%Y-%m-%d-%H%M%S")
BOX_DATA_DIR="${HOME}/data/box"
box_snapshot_dir="${HOME}/data/snapshots/box-${now}"
MAIL_DATA_DIR="${HOME}/data/mail"
snapshot_dir="${HOME}/data/snapshots"
box_snapshot_dir="${snapshot_dir}/box-${now}"
mail_snapshot_dir="${snapshot_dir}/mail-${now}"
echo "Creating MySQL dump"
mysqldump -u root -ppassword --single-transaction --routines --triggers box > "${BOX_DATA_DIR}/box.mysqldump"
echo "Snapshoting backup as backup-${now}"
btrfs subvolume snapshot -r "${BOX_DATA_DIR}" "${box_snapshot_dir}"
btrfs subvolume snapshot -r "${MAIL_DATA_DIR}" "${mail_snapshot_dir}"
# will be checked at the end
try=0
@@ -72,7 +76,7 @@ if [[ "$1" == "s3" ]]; then
# use aws instead of curl because curl will always read entire stream memory to set Content-Length
# aws will do multipart upload
if tar -czf - -C "${box_snapshot_dir}" . \
if tar -czf - -C "${snapshot_dir}" box mail \
| openssl aes-256-cbc -e -pass "pass:${password}" \
| aws ${optional_args} s3 cp - "${s3_url}" 2>"${error_log}"; then
break
@@ -84,11 +88,12 @@ elif [[ "$1" == "filesystem" ]]; then
mkdir -p $(dirname "${backup_folder}/${backup_fileName}")
tar -czf - -C "${box_snapshot_dir}" . | openssl aes-256-cbc -e -pass "pass:${password}" > "${backup_folder}/${backup_fileName}"
tar -czf - -C "${snapshot_dir}" box mail | openssl aes-256-cbc -e -pass "pass:${password}" > "${backup_folder}/${backup_fileName}"
fi
echo "Deleting backup snapshot"
btrfs subvolume delete "${box_snapshot_dir}"
btrfs subvolume delete "${mail_snapshot_dir}"
if [[ ${try} -eq 5 ]]; then
echo "Backup failed"