A Developer CLI utility to backup local AEM instances, and save lives!
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
.eslintrc
.gitignore
README.md
index.js
package.json
screenshot.svg

README.md

JavaScript Style Guide

aem-backup-cli

A Developer CLI utility to backup local AEM instances, and save lives!

If you like this utility, please consider starring 🤩 to let me know you like it!

windows users: let me know if it works on windows 😅



About

If you're an AEM dev, you understand the frustration of a broken AEM instance during development. This CLI will backup your instance so you can restore it at any time!

How it works

Consider this AEM instance directory structure:

|-- aem-instance-directory       # The AEM instance directory
    |-- quickstart.jar
    |-- crx-quickstart
    |-- license.properties
    |-- crx-quickstart.backup    # folder added by aem-backup-cli
        |-- some-backup.tar      # sample user-generated backup  
        |-- another-backup.tar   # another sample user-generated backup 

Moving forward, I will be referring to aem-instance-directory above as the "AEM instance Directory"

Using the node-tar module, this CLI creates a tar archive (tarball) of the crx-quickstart folder and saves the resulting tar into a sibling folder called crx-quickstart.backups.

Please note:

  • Since this is a filesystem backup, the AEM instance must be completely shutdown.
  • This CLI does not perform compression, as it's aimed for speed not saving disk space.

Install and Usage

# install the cli (adds 'aemb' to the command line)

$ npm install -g aem-backup-cli
# before running `aemb`, make sure you `cd` into  your
# AEM instance directory (`aem-instance-directory` from above)

$ aemb

Interactive cli is now open! typing help generates:

aemb$ help

  Commands:

    help [command...]              Provides help for a given command.
    exit                           Exits application.
    backup [options] [backupName]  Archive crx-quickstart in current directory and move archive to crx-quickstart.backups folder in current directory
    list                           List all available backups
    delete [options]               Delete a backup from available backups
    restore [options]              Restore a backup from a list of available backups

Examples

# create backup named my-first-backup
aemb$ backup my-first-backup
# List available backups
aemb$ list
# restore a backup from a list of backups
aemb$ restore
# delete a backup from a list of backups
aemb$ delete

Interacting with crx-quickstart.backups folder

You can manually add/remove/rename backup tars to your hearts content. you can also safely remove the whole folder if you no longer need it.