{"id":26939288,"url":"https://github.com/sevensource/magnolia-module-simple-backup","last_synced_at":"2025-04-02T14:17:40.667Z","repository":{"id":57740667,"uuid":"237673005","full_name":"sevensource/magnolia-module-simple-backup","owner":"sevensource","description":"Magnolia CMS module adding backup and restore functionality","archived":false,"fork":false,"pushed_at":"2020-05-18T19:12:13.000Z","size":82,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-16T10:59:09.267Z","etag":null,"topics":["backup","magnolia","magnolia-cms","restore"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sevensource.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-01T20:23:44.000Z","updated_at":"2020-05-18T19:12:12.000Z","dependencies_parsed_at":"2022-08-25T19:20:41.534Z","dependency_job_id":null,"html_url":"https://github.com/sevensource/magnolia-module-simple-backup","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sevensource%2Fmagnolia-module-simple-backup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sevensource%2Fmagnolia-module-simple-backup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sevensource%2Fmagnolia-module-simple-backup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sevensource%2Fmagnolia-module-simple-backup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sevensource","download_url":"https://codeload.github.com/sevensource/magnolia-module-simple-backup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246828477,"owners_count":20840474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backup","magnolia","magnolia-cms","restore"],"created_at":"2025-04-02T14:17:40.023Z","updated_at":"2025-04-02T14:17:40.649Z","avatar_url":"https://github.com/sevensource.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Magnolia module SimpleBackup\n[![GitHub Tag](https://img.shields.io/github/tag/sevensource/magnolia-module-simple-backup.svg?maxAge=3600)](https://github.com/sevensource/magnolia-module-simple-backup/tags)\n[![Maven Central](https://img.shields.io/maven-central/v/org.sevensource.magnolia/magnolia-module-simple-backup.svg?maxAge=3600)](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.sevensource.magnolia%22%20AND%20a%3A%22magnolia-module-simple-backup%22)\n[![License](https://img.shields.io/github/license/sevensource/magnolia-module-simple-backup.svg)](https://github.com/sevensource/magnolia-module-simple-backup/blob/master/LICENSE)\n\n## [Magnolia CMS](http://www.magnolia-cms.com) module adding backup and restore functionality\n\n### Demo\nSee [simple-backup-demo-module](simple-backup-demo-module) and [simple-backup-demo-scripts](simple-backup-demo-scripts) for a fully functional demo.\n\n### Installation\nThe module is available on [Maven central](https://search.maven.org/artifact/org.sevensource.magnolia/magnolia-module-simple-backup) - add it to your war file:\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003eorg.sevensource.magnolia\u003c/groupId\u003e\n  \u003cartifactId\u003emagnolia-module-simple-backup\u003c/artifactId\u003e\n  \u003cversion\u003e${magnolia-module-simple-backup.version}\u003c/version\u003e\n\u003c/dependency\u003e\n```\n### Configuration\n- Module configuration is done in Magnolias config workspace in `/modules/simplebackup/config`\n- add a backup job definition beneith `/modules/simplebackup/config/configurations`:\n```yml\n    example:\n      backupPath: \"/var/mgnl-backup\"  # base path where backups are stored\n      enabled: true                   # will only be executed if set to true\n      name: example                   # name of the job\n      workspaces:                     # a list of workspaces to backup\n        website:\n          workspace: website          # name of the workspace\n          path: /                     # root path within the workspace to backup\n          split: true                 # if true, a new file will be written for every subfolder\n        config:\n          workspace: config\n          path: /\n          split: false\n```\n### Execution\nBackup and Restore is triggered via [Magnolia Commands](https://documentation.magnolia-cms.com/display/DOCS/Commands)\nAvailable commands:\n\n| Catalog  | Command | Parameters | Description |\n| ------------- | ------------- | ------------- | ------------- |\n| simplebackup  | backup  | configuration =\u003e _name of configured backup job_  | Triggers the execution of a backup job with the name specified in _configuration_  |\n| simplebackup  | restore  | path =\u003e _path to the directory that contains the backup files_  | Triggers the execution of a restore |\n| simplebackup  | garbage-collection  | _none_  | Triggers the execution of a JackRabbit Repository Garbage Collection |\n\n#### Executing backups from Java/Groovy\n```groovy\nmap  = new java.util.HashMap\u003cString, String\u003e()\nmap.put(\"configuration\", \"example\")        // name of the backup job created above\nmap.put(\"backup-subdirectory\", \"nightly\")  // optional parameter, if omitted a timestamp will be used\ncm = info.magnolia.commands.CommandsManager.getInstance()\ncm.executeCommand('simplebackup','backup',map)\n```\n\n#### Executing restores from Java/Groovy\n```groovy\nmap  = new java.util.HashMap\u003cString, String\u003e()\nmap.put(\"path\", \"/var/magnolia-backups/author/2020-01-25T120000\") // path to the directory in which the backup files are stored\ncm = info.magnolia.commands.CommandsManager.getInstance()\ncm.executeCommand('simplebackup','restore',map)\n```\n\n#### Executing garbage collections from Java/Groovy\n```groovy\ncm = info.magnolia.commands.CommandsManager.getInstance()\ncm.executeCommand('simplebackup','garbage-collection', null)\n```\n\n#### via Magnolia's scheduler\nUsing [Magnolia Scheduler Module](https://documentation.magnolia-cms.com/display/DOCS/Scheduler+module), regular\nbackups can be executed - see [Commands-Scheduling](https://documentation.magnolia-cms.com/display/DOCS/Commands#Commands-Scheduling)\nfor details.\n\n\n#### via REST services\nUsing [Magnolia Rest Module](https://documentation.magnolia-cms.com/display/DOCS/REST+module) backups can be initiated\nvia the REST API:\n- enable the backup command in\n`/modules/rest-services/rest-endpoints/commands/enabledCommands`:\n\n_config.modules.rest-services.rest-endpoints.commands.enabledCommands.backup.yaml_\n```yml\nbackup:\n  catalogName: simplebackup\n  commandName: backup\n  access:\n    roles:\n      rest: rest-editor\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsevensource%2Fmagnolia-module-simple-backup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsevensource%2Fmagnolia-module-simple-backup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsevensource%2Fmagnolia-module-simple-backup/lists"}