From 5bd8a6d7eba9b0482f26ad06c5458c6664de251a Mon Sep 17 00:00:00 2001 From: Konrad Wojas Date: Mon, 11 Jan 2021 11:50:02 +0800 Subject: [PATCH] Extend help output with short overview The list of subcommands can be confusing for first time users. This adds a short overview of the most important commands to help get people started. --- changelog/unreleased/pull-3225 | 6 ++++++ cmd/restic/main.go | 38 ++++++++++++++++++++++++++++------ 2 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 changelog/unreleased/pull-3225 diff --git a/changelog/unreleased/pull-3225 b/changelog/unreleased/pull-3225 new file mode 100644 index 000000000..4d2fb73e2 --- /dev/null +++ b/changelog/unreleased/pull-3225 @@ -0,0 +1,6 @@ +Enhancement: Extend cli help output + +Added a short overview of the most important commands to the commandline +help output to help new users get started. + +https://github.com/restic/restic/pull/3225 diff --git a/cmd/restic/main.go b/cmd/restic/main.go index 64b75b43a..267dc44c2 100644 --- a/cmd/restic/main.go +++ b/cmd/restic/main.go @@ -18,14 +18,40 @@ import ( "github.com/restic/restic/internal/errors" ) -// cmdRoot is the base command when no other command has been specified. -var cmdRoot = &cobra.Command{ - Use: "restic", - Short: "Backup and restore files", - Long: ` +// LongDescription is shown in the cli help output +const LongDescription = ` restic is a backup program which allows saving multiple revisions of files and directories in an encrypted repository stored on different backends. -`, + +To get started with a local test repository, first define some environment variables: + export RESTIC_REPOSITORY=/tmp/restic-example + export RESTIC_PASSWORD=some-strong-password + +Initialize the repository (first time only): + restic init + +Create your first backup: + restic backup /etc/hosts + +You can list all the snapshots you created with: + restic snapshots + +You can restore a backup by noting the snapshot ID you want and running: + restic restore --target /tmp/some-target-dir your-snapshot-ID + +It is a good idea to periodically check your repository's metadata: + restic check + # or full data: + restic check --read-data + +The full documentation can be found at https://restic.readthedocs.io/ +` + +// cmdRoot is the base command when no other command has been specified. +var cmdRoot = &cobra.Command{ + Use: "restic", + Short: "Backup and restore files", + Long: LongDescription, SilenceErrors: true, SilenceUsage: true, DisableAutoGenTag: true,