From 4f3d83f458f077bee3ce995fe231234b184ff6d6 Mon Sep 17 00:00:00 2001 From: Fuxino Date: Thu, 1 Jun 2023 22:18:32 +0200 Subject: [PATCH] Update manpage --- man/simple_backup.1 | 65 +++++++++++++++++++++++++--------- simple_backup/simple_backup.py | 2 +- 2 files changed, 50 insertions(+), 17 deletions(-) diff --git a/man/simple_backup.1 b/man/simple_backup.1 index c37cc03..98b7c61 100644 --- a/man/simple_backup.1 +++ b/man/simple_backup.1 @@ -16,14 +16,23 @@ simple_backup \- Backup files and folders using rsync .PD .RS 14 [\-e, \-\-exclude FILE|DIR|PATTERN [FILE|...]] [\-k, \-\-keep N] +[\-\-host HOSTNAME] +[\-u, \-\-username USERNAME] +[\-\-keyfile FILE] +.PD 0 +.P +.PD [\-s, \-\-checksum] +[\-z, \-\-compress] [\-\-remove\-before\-backup] .RE .SH DESCRIPTION .BR simple_backup -is a python script for performing backup of files and folders. It uses rsync to copy the files to the specified location. -Parameters for the backup such as input files/directories, output location and files or folders to exclude can be specified -in a configuration file (default location $HOME/.config/simple_backup/simple_backup.conf) or directly on the command line. +is a python script for performing backup of files and folders. It uses rsync to copy the files +to the specified location. Parameters for the backup such as input files/directories, output +location and files or folders to exclude can be specified +in a configuration file (default location $HOME/.config/simple_backup/simple_backup.conf) +or directly on the command line. Parameters specified on the command line will override those in the configuration file. .SH OPTIONS .TP @@ -34,31 +43,55 @@ Print a short help message and exit Specify the configuration file, useful to specify a different one from the default. .TP .B \-i, \-\-input INPUT [INPUT...] -Specify the files and directories to backup. Multiple inputs can be specified, just separate them with a space. -If filenames or paths contain spaces, don't forget to escape them, or to use single or double quotes around them. +Specify the files and directories to backup. Multiple inputs can be specified, just separate +them with a space. If filenames or paths contain spaces, don't forget to escape them, +or to use single or double quotes around them. .TP .B \-o, \-\-output DIR -Specify the directory where the files will be copied. The program will automatically create a subdirectory called -\(aqsimple_backup\(aq (if it does not already exist) and inside this directory the actual backup directory (using -the current date and time) +Specify the directory where the files will be copied. The program will automatically +create a subdirectory called \(aqsimple_backup\(aq (if it does not already exist) and +inside this directory the actual backup directory (using the current date and time) .TP .B \-e, \-\-exclude FILE|DIR|PATTERN [FILE|...]] -Specify files, directories or patterns to exclude from the backup. Matching files and directories will not be copied. -Multiple elements can be specified, in the same way as for the \-\-input option +Specify files, directories or patterns to exclude from the backup. Matching files and directories +will not be copied. Multiple elements can be specified, in the same way as for the \-\-input option .TP .B \-k, \-\-keep N -Specify how many old backups (so excluding the current one) will be kept. The default behavior is to keep them all -(same as N=\-1) +Specify how many old backups (so excluding the current one) will be kept. The default behavior +is to keep them all (same as N=\-1) +.TP +.B \-\-host HOSTNAME +Hostname of the server where to copy the files in case of remote backup through ssh +.TP +.B \-u, \-\-username USERNAME +Username for connecting to the server in case of remote backup +.TP +.B \-\-keyfile FILE +Location of the SSH key for server authentication. .TP .B \-s, \-\-checksums -Same as rsync option \(aq\-\-checksum\(aq, use checksums instead of mod\-time and size to skip files. +Same as rsync option \(aq\-\-checksum\(aq, use checksums instead of mod\-time and size +to skip files. +.TP +.B \-z, \-\-compress +Compress data during transfer (rsync \(aq\-\-compress\(aq option). Useful for remote backup +if saving bandwith is needed. .TP .B \-\-remove\-before\-backup -Remove old backups (if necessary) before creating the new backup. Useful to free some space before performing the backup. +Remove old backups (if necessary) before creating the new backup. Useful to free some space +before performing the backup. Default behavior is to remove old backups after successfully completing the backup. .SH CONFIGURATION -An example configuration file is provided at \(aq/etc/simple_backup/simple_backup.conf\(aq. Copy it to the default location -($HOME/.config/simple_backup) and edit it as needed. +An example configuration file is provided at \(aq/etc/simple_backup/simple_backup.conf\(aq. +Copy it to the default location ($HOME/.config/simple_backup) and edit it as needed. +.SH REMOTE BACKUP +It is possible to choose a directory on a remote server as destination for the backup. The files +are copied by rsync through SSH. Server hostname and username must be specified, either in the +configuration file, or on the command line (\(aq\-\-host\(aq and \(aq\-\-username\(aq options). +Currently only authentication with SSH key has been tested. The easiest way to connect to the +server is to use an ssh agent. Otherwise, if the SSH key is encrypted, it will be necessary +to enter the passphrase more than once. It is possible to specify the SSH key to use with the +option \(aq\-\-keyfile\(aq, if necessary. .SH SEE ALSO .BR rsync (1) .SH AUTHORS diff --git a/simple_backup/simple_backup.py b/simple_backup/simple_backup.py index 06e42a5..e63ed72 100755 --- a/simple_backup/simple_backup.py +++ b/simple_backup/simple_backup.py @@ -516,7 +516,7 @@ class Backup: def _parse_arguments(): parser = argparse.ArgumentParser(prog='simple_backup', description='Simple backup script written in Python that uses rsync to copy files', - epilog='Report bugs to dfucinigmailcom', + epilog='See simple_backup(1) manpage for full documentation', formatter_class=MyFormatter) parser.add_argument('-c', '--config', default=f'{homedir}/.config/simple_backup/simple_backup.conf',