2024-02-29 12:36:59 +00:00
type: update
2024-11-12 18:21:11 +00:00
jpsVersion: 1.2
2024-02-29 12:36:59 +00:00
name: MightyBox WordPress Backup/Restore Addon
id: mb-backup-manager
description: Custom Backup and Restore Addon for WordPress using Restic. Supports backing up databases, core files, media files, and full backups with scheduling and retention policies.
2024-03-12 15:45:00 +00:00
baseUrl: https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main
2024-03-07 15:23:59 +00:00
2024-02-29 12:36:59 +00:00
targetNodes:
2024-03-07 14:39:23 +00:00
nodeType:
- nginxphp
- litespeedphp
- lemp
- llsmp
2024-02-29 12:36:59 +00:00
2024-03-04 17:31:33 +00:00
globals:
2024-03-14 10:46:58 +00:00
envName: "${env.name}"
2024-11-13 16:52:16 +00:00
scriptPath: "/home/jelastic/mb-backups"
logPath: "/home/jelastic/mb-backups/logs"
2024-02-29 12:36:59 +00:00
onInstall:
- checkAddons
- installRestic
2024-09-18 17:14:47 +00:00
- importScripts
2024-03-13 13:25:45 +00:00
2024-09-18 16:53:20 +00:00
settings:
backupSettings:
submitUnchanged: true
fields:
- name: blabel
caption: Backup Label
type: string
restoreSettings:
submitUnchanged: true
fields:
- name: snapshotId
caption: Snapshot ID
type: string
2024-11-13 16:52:16 +00:00
2024-03-14 10:46:58 +00:00
buttons:
- caption: Backup Now
2024-09-18 16:53:20 +00:00
action: backupnow
2024-03-14 10:46:58 +00:00
loadingText: Backing up...
confirmText: Do you want to initiate the backup process?
successText: The backup process has been finished successfully.
2024-11-13 16:52:16 +00:00
2024-03-13 13:25:45 +00:00
menu:
2024-11-12 18:15:11 +00:00
- caption: Configure Auto Backup
action: configureAutoBackup
confirmText: Configure automated backup schedule?
loadingText: Setting up backup schedule...
successText: Backup schedule configured successfully
title: Configure Automated Backup Schedule
submitButtonText: Save Schedule
- caption: Remove Auto Backup
action: removeAutoBackup
confirmText: Remove automated backup schedule?
loadingText: Removing backup schedule...
successText: Backup schedule removed successfully
- caption: View Schedule
action: viewBackupSchedule
confirmText: View current backup schedule?
successText: Current schedule retrieved successfully
2024-03-04 17:31:33 +00:00
onUninstall:
- removeScript
onBeforeDelete:
- removeScript
onAfterRedeployContainer[cp]:
- installRestic
2024-11-13 16:52:16 +00:00
onAfterClone:
2024-03-04 17:31:33 +00:00
- script: return {result:0, jps:MANIFEST};
- install: ${response.jps}
nodeGroup: ${targetNodes.nodeGroup:cp}
settings:
2024-03-12 15:45:00 +00:00
cronTime: "0 * * * *"
backupCount: "5"
2024-03-04 17:31:33 +00:00
2024-02-29 12:36:59 +00:00
actions:
2024-11-12 18:15:11 +00:00
configureAutoBackup:
2024-11-12 18:58:17 +00:00
- cmd[cp]:
user: root
commands: |
2024-11-13 16:52:16 +00:00
bash "/home/jelastic/mb-backups/manage_backup_schedule.sh" add "0 0 * * *" "$(cat /etc/restic-password)"
2024-11-12 18:58:17 +00:00
- return:
type: info
message: "Daily backup schedule configured successfully"
2024-11-12 18:15:11 +00:00
removeAutoBackup:
- cmd[cp]:
user: root
2024-11-13 16:52:16 +00:00
commands: bash /home/jelastic/mb-backups/manage_backup_schedule.sh remove
2024-11-12 18:15:11 +00:00
- return:
type: info
2024-11-13 16:52:16 +00:00
message: "Backup schedule removed successfully"
2024-11-12 17:00:19 +00:00
2024-03-13 13:25:45 +00:00
backupnow:
2024-09-18 16:53:20 +00:00
- cmd[cp]:
user: root
2024-11-13 16:52:16 +00:00
commands: bash /home/jelastic/mb-backups/backup_all.sh "${globals.envName}"
- return:
2024-09-18 16:53:20 +00:00
type: info
2024-11-13 16:52:16 +00:00
message: "Backup initiated successfully."
2024-09-18 16:53:20 +00:00
2024-11-12 18:15:11 +00:00
viewBackupSchedule:
2024-09-18 16:53:20 +00:00
- cmd[cp]:
user: root
2024-11-13 16:52:16 +00:00
commands: bash /home/jelastic/mb-backups/check_sched.sh
2024-11-12 18:15:11 +00:00
- return:
2024-09-18 16:53:20 +00:00
type: info
2024-11-12 18:15:11 +00:00
message: "${response.out}"
2024-03-13 13:25:45 +00:00
2024-09-18 17:14:47 +00:00
importScripts:
2024-11-13 16:52:16 +00:00
- 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