diff --git a/manifest.jps b/manifest.jps index 4e60cd6..78209b2 100644 --- a/manifest.jps +++ b/manifest.jps @@ -14,8 +14,8 @@ targetNodes: globals: envName: "${env.name}" - scriptPath: "/home/litespeed/mb-backups" - logPath: "/home/litespeed/mb-backups/logs" + scriptPath: "/home/jelastic/mb-backups" + logPath: "/home/jelastic/mb-backups/logs" onInstall: - checkAddons @@ -35,14 +35,14 @@ settings: - name: snapshotId caption: Snapshot ID type: string - + buttons: - caption: Backup Now action: backupnow loadingText: Backing up... confirmText: Do you want to initiate the backup process? successText: The backup process has been finished successfully. - + menu: - caption: Configure Auto Backup action: configureAutoBackup @@ -63,70 +63,6 @@ menu: confirmText: View current backup schedule? successText: Current schedule retrieved successfully - - caption: Check Backup Repository - confirmText: Do you want to check and repair the backup repository? - loadingText: Checking and repairing backup repository... - action: checkBackupRepo - successText: Backup repository check completed successfully. - title: Check Backup Repository - submitButtonText: Run Check - - - caption: Core File Backup - confirmText: Backup Core Files? - loadingText: Backing up Core Files... - action: backupcore - successText: Core Files Backup Completed Successfully - settings: backupSettings - title: Backup Core Files - submitButtonText: Backup Now - - - caption: Media Backup - confirmText: Backup Media Files? - loadingText: Backing up Media Files... - action: backupmedia - successText: Media Files Backup Completed Successfully - settings: backupSettings - title: Backup Media Files - submitButtonText: Backup Now - - - caption: Database Backup - confirmText: Backup Database? - loadingText: Backing up Database... - action: backupdb - successText: Database Backup Completed Successfully - settings: backupSettings - title: Backup Database - submitButtonText: Backup Now - - - caption: Restore - confirmText: Restore from Snapshot? - loadingText: Restoring... - action: restore - successText: Restore Completed Successfully - settings: restoreSettings - title: Restore from Snapshot - submitButtonText: Restore Now - - - caption: View Full Backups - action: viewFullBackups - confirmText: Are you sure you want to view full backups? - successText: Full backups listed successfully. - - - caption: View Core Backups - action: viewCoreBackups - confirmText: Are you sure you want to view core backups? - successText: Core backups listed successfully. - - - caption: View Media Backups - action: viewMediaBackups - confirmText: Are you sure you want to view media backups? - successText: Media backups listed successfully. - - - caption: View Database Backups - action: viewDatabaseBackups - confirmText: Are you sure you want to view database backups? - successText: Database backups listed successfully. - onUninstall: - removeScript @@ -135,8 +71,8 @@ onBeforeDelete: onAfterRedeployContainer[cp]: - installRestic - -onAfterClone: + +onAfterClone: - script: return {result:0, jps:MANIFEST}; - install: ${response.jps} nodeGroup: ${targetNodes.nodeGroup:cp} @@ -149,15 +85,7 @@ actions: - cmd[cp]: user: root commands: | - if [ ! -x "/home/litespeed/mb-backups/manage_backup_schedule.sh" ]; then - echo "Error: manage_backup_schedule.sh not found or not executable" - exit 1 - fi - bash "/home/litespeed/mb-backups/manage_backup_schedule.sh" - if [ $? -ne 0 ]; then - echo "Error executing manage_backup_schedule.sh" - exit 1 - fi + bash "/home/jelastic/mb-backups/manage_backup_schedule.sh" add "0 0 * * *" "$(cat /etc/restic-password)" - return: type: info message: "Daily backup schedule configured successfully" @@ -165,162 +93,44 @@ actions: removeAutoBackup: - cmd[cp]: user: root - commands: bash /home/litespeed/mb-backups/manage_backup_schedule.sh remove + commands: bash /home/jelastic/mb-backups/manage_backup_schedule.sh remove - return: type: info - message: "${response.out}" - - checkBackupRepo: - - cmd[cp]: - user: root - commands: bash /home/jelastic/mb-backups/backup-logic.sh check_backup_repo "${globals.envName}" - - return: - type: info - message: "${response.out}" + message: "Backup schedule removed successfully" backupnow: - - cmd[cp]: - user: root - commands: bash /home/jelastic/mb-backups/backup_all.sh "${globals.envName}" - - return: - type: info - message: "${response.out}" - - backupcore: - - cmd[cp]: - user: root - commands: bash /home/jelastic/mb-backups/backup_core_files.sh "${globals.envName}" "${settings.blabel}" - - return: - type: info - message: "${response.out}" - - backupmedia: - - cmd[cp]: - user: root - commands: bash /home/jelastic/mb-backups/backup_media.sh "${globals.envName}" "${settings.blabel}" - - return: - type: info - message: "${response.out}" - - backupdb: - - cmd[cp]: - user: root - commands: bash /home/jelastic/mb-backups/backup_database.sh "${globals.envName}" "${settings.blabel}" - - return: - type: info - message: "${response.out}" - - restore: - - cmd[cp]: - user: root - commands: bash /home/jelastic/mb-backups/restore_backup_direct.sh "${settings.snapshotId}" "${globals.envName}" - - return: - type: info - message: "${response.out}" - - viewFullBackups: - cmd[cp]: user: root - commands: bash /home/jelastic/mb-backups/view_snapshots.sh main_backup - - return: + commands: bash /home/jelastic/mb-backups/backup_all.sh "${globals.envName}" + - return: type: info - message: "${response.out}" + message: "Backup initiated successfully." - viewCoreBackups: - - cmd[cp]: - user: root - commands: bash /home/jelastic/mb-backups/view_snapshots.sh core_files - - return: - type: info - message: "${response.out}" - - viewMediaBackups: - - cmd[cp]: - user: root - commands: bash /home/jelastic/mb-backups/view_snapshots.sh media_themes - - return: - type: info - message: "${response.out}" - - viewDatabaseBackups: - - cmd[cp]: - user: root - commands: bash /home/jelastic/mb-backups/view_snapshots.sh wordpress_db - - return: - type: info - message: "${response.out}" - viewBackupSchedule: - cmd[cp]: user: root - commands: bash /home/litespeed/mb-backups/check_sched.sh + commands: bash /home/jelastic/mb-backups/check_sched.sh - return: type: info message: "${response.out}" - checkAddons: - - script: |- - var onAfterReturn = { setGlobals: {} }, - glbs = onAfterReturn.setGlobals, - resp = api.marketplace.app.GetAddonList({ - search: {}, - envName: "${env.name}", - session: session - }); - if (resp.result != 0) return resp; - glbs["alreadyInstalled"] = false; - for (let i = 0, n = resp.apps.length; i < n; i++) { - if (resp.apps[i].isInstalled) { - if (resp.apps[i].app_id == 'db-backup') { - glbs["alreadyInstalled"] = true; - break; - } - } - } - return { result: 0, onAfterReturn: onAfterReturn }; - - if ('${globals.alreadyInstalled}' == 'true' ): - - stopEvent: - type: warning - message: Database backup add-on is already installed on ${env.name}. Backup addon installation is not possible. - - installRestic: - cmd [cp]: |- - if which dnf >/dev/null 2>&1; then - dnf install -y epel-release - dnf install -y restic - else - yum-config-manager --add-repo https://copr.fedorainfracloud.org/coprs/copart/restic/repo/epel-7/copart-restic-epel-7.repo - yum-config-manager --enable copr:copr.fedorainfracloud.org:copart:restic - yum -y install restic - yum-config-manager --disable copr:copr.fedorainfracloud.org:copart:restic - echo "/var/log/backup_addon.log { - weekly - rotate 52 - missingok - notifempty - compress - copytruncate - }" > /etc/logrotate.d/backup-addon - fi - user: root - importScripts: - - cmd[cp]: - user: root - commands: - - mkdir -p /home/jelastic/mb-backups - - mkdir -p /home/litespeed/mb-backups/logs - - mkdir -p /home/litespeed/mb-backups/logs/auto - - mkdir -p /home/litespeed/mb-backups/logs/manual - - mkdir -p /home/litespeed/mb-backups/logs/restore - - cd /home/jelastic/mb-backups - - curl -O https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main/scripts/imports/backup_all.sh - - curl -O https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main/scripts/imports/backup_core_files.sh - - curl -O https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main/scripts/imports/backup_database.sh - - curl -O https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main/scripts/imports/backup_media.sh - - curl -O https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main/scripts/imports/check_sched.sh - - curl -O https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main/scripts/imports/manage_backup_schedule.sh - - curl -O https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main/scripts/imports/restore_backup_direct.sh - - curl -O https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main/scripts/imports/view_snapshots.sh - - curl -O https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main/scripts/backup-logic.sh - - chmod +x /home/litespeed/mb-backups/*.sh \ No newline at end of file + - cmd[cp]: + user: root + commands: + - mkdir -p /home/jelastic/mb-backups + - mkdir -p /home/jelastic/mb-backups/logs + - mkdir -p /home/jelastic/mb-backups/logs/auto + - mkdir -p /home/jelastic/mb-backups/logs/manual + - mkdir -p /home/jelastic/mb-backups/logs/restore + - cd /home/jelastic/mb-backups + - curl -O https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main/scripts/imports/backup_all.sh + - curl -O https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main/scripts/imports/backup_core_files.sh + - curl -O https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main/scripts/imports/backup_database.sh + - curl -O https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main/scripts/imports/backup_media.sh + - curl -O https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main/scripts/imports/check_sched.sh + - curl -O https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main/scripts/imports/manage_backup_schedule.sh + - curl -O https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main/scripts/imports/restore_backup_direct.sh + - curl -O https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main/scripts/imports/view_snapshots.sh + - curl -O https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main/scripts/backup-logic.sh + - chmod +x /home/jelastic/mb-backups/*.sh \ No newline at end of file