diff --git a/installer/systemd/box-setup.sh b/installer/systemd/box-setup.sh index 4bcc1324c..bc2b53933 100755 --- a/installer/systemd/box-setup.sh +++ b/installer/systemd/box-setup.sh @@ -4,7 +4,6 @@ set -eu -o pipefail readonly USER_HOME="/home/yellowtent" readonly APPS_SWAP_FILE="/apps.swap" -readonly BACKUP_SWAP_FILE="/backup.swap" # used when doing app backups readonly USER_DATA_FILE="/root/user_data.img" readonly USER_DATA_DIR="/home/yellowtent/data" @@ -23,7 +22,6 @@ readonly swap_size="${physical_memory}" # if you change this, fix enoughResource readonly app_count=$((${physical_memory} / 200)) # estimated app count readonly disk_size_gb=$(fdisk -l ${disk_device} | grep "Disk ${disk_device}" | awk '{ print $3 }') readonly disk_size=$((disk_size_gb * 1024)) -readonly backup_swap_size=1024 readonly system_size=10240 # 10 gigs for system libs, apps images, installer, box code and tmp readonly ext4_reserved=$((disk_size * 5 / 100)) # this can be changes using tune2fs -m percent /dev/vda1 @@ -32,8 +30,7 @@ echo "Physical memory: ${physical_memory}" echo "Estimated app count: ${app_count}" echo "Disk size: ${disk_size}" -# Allocate two sets of swap files - one for general app usage and another for backup -# The backup swap is setup for swap on the fly by the backup scripts +# Allocate swap for general app usage if [[ ! -f "${APPS_SWAP_FILE}" ]]; then echo "Creating Apps swap file of size ${swap_size}M" fallocate -l "${swap_size}m" "${APPS_SWAP_FILE}" @@ -45,17 +42,8 @@ else echo "Apps Swap file already exists" fi -if [[ ! -f "${BACKUP_SWAP_FILE}" ]]; then - echo "Creating Backup swap file of size ${backup_swap_size}M" - fallocate -l "${backup_swap_size}m" "${BACKUP_SWAP_FILE}" - chmod 600 "${BACKUP_SWAP_FILE}" - mkswap "${BACKUP_SWAP_FILE}" -else - echo "Backups Swap file already exists" -fi - echo "Resizing data volume" -home_data_size=$((disk_size - system_size - swap_size - backup_swap_size - ext4_reserved)) +home_data_size=$((disk_size - system_size - swap_size - ext4_reserved)) echo "Resizing up btrfs user data to size ${home_data_size}M" umount "${USER_DATA_DIR}" || true # Do not preallocate (non-sparse). Doing so overallocates for data too much in advance and causes problems when using many apps with smaller data diff --git a/setup/container/sudoers b/setup/container/sudoers index 95ab388a7..cb0a20e2c 100644 --- a/setup/container/sudoers +++ b/setup/container/sudoers @@ -25,9 +25,6 @@ yellowtent ALL=(root) NOPASSWD: /home/yellowtent/box/src/scripts/reboot.sh Defaults!/home/yellowtent/box/src/scripts/reloadcollectd.sh env_keep="HOME BOX_ENV" yellowtent ALL=(root) NOPASSWD: /home/yellowtent/box/src/scripts/reloadcollectd.sh -Defaults!/home/yellowtent/box/src/scripts/backupswap.sh env_keep="HOME BOX_ENV" -yellowtent ALL=(root) NOPASSWD: /home/yellowtent/box/src/scripts/backupswap.sh - Defaults!/home/yellowtent/box/src/scripts/collectlogs.sh env_keep="HOME BOX_ENV" yellowtent ALL=(root) NOPASSWD: /home/yellowtent/box/src/scripts/collectlogs.sh diff --git a/src/backups.js b/src/backups.js index a6a79539f..fb85de352 100644 --- a/src/backups.js +++ b/src/backups.js @@ -45,10 +45,8 @@ var addons = require('./addons.js'), webhooks = require('./webhooks.js'); var BACKUP_BOX_CMD = path.join(__dirname, 'scripts/backupbox.sh'), - BACKUP_SWAP_CMD = path.join(__dirname, 'scripts/backupswap.sh'), BACKUP_APP_CMD = path.join(__dirname, 'scripts/backupapp.sh'), - RESTORE_APP_CMD = path.join(__dirname, 'scripts/restoreapp.sh'), - BACKUP_SWAP_CMD = path.join(__dirname, 'scripts/backupswap.sh'); + RESTORE_APP_CMD = path.join(__dirname, 'scripts/restoreapp.sh'); var NOOP_CALLBACK = function (error) { if (error) debug(error); }; @@ -258,11 +256,9 @@ function backupBoxWithAppBackupIds(appBackupIds, callback) { debug('backupBoxWithAppBackupIds: %j', result); - async.series([ - ignoreError(shell.sudo.bind(null, 'mountSwap', [ BACKUP_SWAP_CMD, '--on' ])), - shell.sudo.bind(null, 'backupBox', [ BACKUP_BOX_CMD, result.s3Url, result.accessKeyId, result.secretAccessKey, result.sessionToken, result.region, result.backupKey ]), - ignoreError(shell.sudo.bind(null, 'unmountSwap', [ BACKUP_SWAP_CMD, '--off' ])), - ], function (error) { + var args = [ result.s3Url, result.accessKeyId, result.secretAccessKey, result.sessionToken, result.region, result.backupKey ]; + + shell.sudo('backupBox', [ BACKUP_BOX_CMD ].concat(args), function (error) { if (error) return callback(new BackupsError(BackupsError.INTERNAL_ERROR, error)); debug('backupBoxWithAppBackupIds: success'); @@ -402,10 +398,8 @@ function createNewBackup(app, addonsToBackup, callback) { debugApp(app, 'backupApp: backup url:%s backup config url:%s', result.url, result.configUrl); async.series([ - ignoreError(shell.sudo.bind(null, 'mountSwap', [ BACKUP_SWAP_CMD, '--on' ])), addons.backupAddons.bind(null, app, addonsToBackup), shell.sudo.bind(null, 'backupApp', [ BACKUP_APP_CMD, result.s3ConfigUrl, result.s3DataUrl, result.accessKeyId, result.secretAccessKey, result.sessionToken, result.region, result.backupKey ]), - ignoreError(shell.sudo.bind(null, 'unmountSwap', [ BACKUP_SWAP_CMD, '--off' ])), ], function (error) { if (error) return callback(new BackupsError(BackupsError.INTERNAL_ERROR, error)); diff --git a/src/scripts/backupswap.sh b/src/scripts/backupswap.sh deleted file mode 100755 index 7f2eef53c..000000000 --- a/src/scripts/backupswap.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - -set -eu -o pipefail - -if [[ ${EUID} -ne 0 ]]; then - echo "This script should be run as root." > /dev/stderr - exit 1 -fi - -if [[ $# -eq 0 ]]; then - echo "No arguments supplied" - exit 1 -fi - -if [[ "$1" == "--check" ]]; then - echo "OK" - exit 0 -fi - -BACKUP_SWAP_FILE="/backup.swap" - -if [[ "$1" == "--on" ]]; then - echo "Mounting backup swap" - - if ! swapon -s | grep -q "${BACKUP_SWAP_FILE}"; then - swapon "${BACKUP_SWAP_FILE}" - else - echo "Backup swap already mounted" - fi -fi - -if [[ "$1" == "--off" ]]; then - echo "Unmounting backup swap" - - if swapon -s | grep -q "${BACKUP_SWAP_FILE}"; then - swapoff "${BACKUP_SWAP_FILE}" - else - echo "Backup swap was not mounted" - fi -fi - diff --git a/src/test/checkInstall b/src/test/checkInstall index 6f5d4eecb..3f757c0f6 100755 --- a/src/test/checkInstall +++ b/src/test/checkInstall @@ -18,7 +18,6 @@ scripts=("${SOURCE_DIR}/src/scripts/rmappdir.sh" \ "${SOURCE_DIR}/src/scripts/backupapp.sh" \ "${SOURCE_DIR}/src/scripts/restoreapp.sh" \ "${SOURCE_DIR}/src/scripts/reboot.sh" \ - "${SOURCE_DIR}/src/scripts/backupswap.sh" \ "${SOURCE_DIR}/src/scripts/collectlogs.sh" \ "${SOURCE_DIR}/src/scripts/reloadcollectd.sh")