136 lines
4.5 KiB
Plaintext
136 lines
4.5 KiB
Plaintext
type: update
|
|
jpsVersion: 1.2
|
|
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.
|
|
baseUrl: https://deploy-proxy.mightybox.io/addons/mb-backup-manager/raw/branch/main
|
|
|
|
targetNodes:
|
|
nodeType:
|
|
- nginxphp
|
|
- litespeedphp
|
|
- lemp
|
|
- llsmp
|
|
|
|
globals:
|
|
envName: "${env.name}"
|
|
scriptPath: "/home/jelastic/mb-backups"
|
|
logPath: "/home/jelastic/mb-backups/logs"
|
|
|
|
onInstall:
|
|
- checkAddons
|
|
- installRestic
|
|
- importScripts
|
|
|
|
settings:
|
|
backupSettings:
|
|
submitUnchanged: true
|
|
fields:
|
|
- name: blabel
|
|
caption: Backup Label
|
|
type: string
|
|
restoreSettings:
|
|
submitUnchanged: true
|
|
fields:
|
|
- 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
|
|
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
|
|
|
|
onUninstall:
|
|
- removeScript
|
|
|
|
onBeforeDelete:
|
|
- removeScript
|
|
|
|
onAfterRedeployContainer[cp]:
|
|
- installRestic
|
|
|
|
onAfterClone:
|
|
- script: return {result:0, jps:MANIFEST};
|
|
- install: ${response.jps}
|
|
nodeGroup: ${targetNodes.nodeGroup:cp}
|
|
settings:
|
|
cronTime: "0 * * * *"
|
|
backupCount: "5"
|
|
|
|
actions:
|
|
configureAutoBackup:
|
|
- cmd[cp]:
|
|
user: root
|
|
commands: |
|
|
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"
|
|
|
|
removeAutoBackup:
|
|
- cmd[cp]:
|
|
user: root
|
|
commands: bash /home/jelastic/mb-backups/manage_backup_schedule.sh remove
|
|
- return:
|
|
type: info
|
|
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: "Backup initiated successfully."
|
|
|
|
viewBackupSchedule:
|
|
- cmd[cp]:
|
|
user: root
|
|
commands: bash /home/jelastic/mb-backups/check_sched.sh
|
|
- return:
|
|
type: info
|
|
message: "${response.out}"
|
|
|
|
importScripts:
|
|
- 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 |