Skip to content

Latest commit

 

History

History
242 lines (148 loc) · 8.11 KB

README.md

File metadata and controls

242 lines (148 loc) · 8.11 KB

Create backup archives with generate.

generate-backup

NPM version NPM monthly downloads Build Status

generate-backup demo

Usage

CLI

When installed globally, the backup generator is available to use through the gen command:

Backup a folder to a tar file using the default task.

$ gen backup --src my-project --dest /backups/my-project

Extract a tar file to a folder using the extract task.

$ gen backup:extract --src /backups/my-project/2017-01-02.tar --dest my-project-2

API

Params

  • app {Object}: generate instance to add tasks to.

Example

// use as a plugin with existing generate instance
// $ gen backup
app.use(require('generate-backup'));

// use as a subgenerator on an existing generate instance
// $ gen bkp
app.register('bkp', require('generate-backup'));

Internal API

Internal functions that are used inside the tasks to provide backup and extract functionality.

Params

  • options {Object}: Options to control what is archived.
  • returns {Stream}: The stream created by tar-fs.

Example

backup({src: './', dest: '/backups'});

Params

  • options {Object}: Options to control what is extracted.
  • returns {Stream}: The stream created by tar-fs.

Example

extract({src: '/backups/2017-01-02.tar', dest: './'});

What is "Generate"?

Generate is a command line tool and developer framework for scaffolding out new GitHub projects using generators and tasks.

Answers to prompts and the user's environment can be used to determine the templates, directories, files and contents to build. Support for gulp, base and assemble plugins, and much more.

For more information:

Getting started

Install

Installing the CLI

To run the backup generator from the command line, you'll need to install Generate globally first. You can do that now with the following command:

$ npm install --global generate

This adds the gen command to your system path, allowing it to be run from any directory.

Install generate-backup

Install this module with the following command:

$ npm install --global generate-backup

Usage

Run this generator's default task with the following command:

$ gen backup

What you should see in the terminal

If completed successfully, you should see both starting and finished events in the terminal, like the following:

[00:44:21] starting ...
...
[00:44:22] finished ✔

If you do not see one or both of those events, please let us know about it.

Help

To see a general help menu and available commands for Generate's CLI, run:

$ gen help

Tasks

All available tasks.

Default backup task that will backup the specified --src folder a .tar file in the specified --dest folder using an optional --ignore flag.

remove spaces in the ignore pattern

Example

# backup all node projects to the /backups/projects folder but ignore any node_modules folders
$ gen backup --dest /backups/projects --src projects --ignore '** /node_modules/{,** /*}'

extract task that will extract the files from the specified --src .tar file to the specified --dest folder using an optional --ignore flag.

Example

# extract the archived projects from /backups/projects/2017-01-02.tar to the ./restore/projects folder.
$ gen backup --dest restore/projects --src /backups/projects/2017-01-02.tar

Default task aliased for backup

Visit Generate's documentation for tasks.

Next steps

Running unit tests

It's never too early to begin running unit tests. When you're ready to get started, the following command will ensure the project's dependencies are installed then run all of the unit tests:

$ npm install && test

Publishing your generator

If you're tests are passing and you're ready to publish your generator to npm, you can do that now with the following command:

Are you sure you're ready?!

Let's go!

$ npm publish

About

Related projects

  • generate: Command line tool and developer framework for scaffolding out new GitHub projects. Generate offers the… more | homepage
  • micromatch: Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. | homepage
  • tar-fs: filesystem bindings for tar-stream | homepage

Community

Are you using Generate in your project? Have you published a generator and want to share your project with the world?

Here are some suggestions!

  • If you get like Generate and want to tweet about it, please feel free to mention @generatejs or use the #generatejs hashtag
  • Show your love by starring Generate and generate-backup
  • Get implementation help on StackOverflow (please use the generatejs tag in questions)
  • Gitter Discuss Generate with us on Gitter
  • If you publish an generator, thank you! To make your project as discoverable as possible, please add the keyword generategenerator to package.json.

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Running tests

Install dev dependencies:

$ npm install -d && npm test

Author

Brian Woodward

License

Copyright © 2017, Brian Woodward. Released under the MIT license.


This file was generated by verb-generate-readme, v0.2.3, on January 02, 2017.