Update manpage

This commit is contained in:
daniele 2023-06-01 22:18:32 +02:00
parent d48eaabbd3
commit 4f3d83f458
Signed by: fuxino
GPG Key ID: 981A2B2A3BBF5514
2 changed files with 50 additions and 17 deletions

View File

@ -16,14 +16,23 @@ simple_backup \- Backup files and folders using rsync
.PD .PD
.RS 14 [\-e, \-\-exclude FILE|DIR|PATTERN [FILE|...]] .RS 14 [\-e, \-\-exclude FILE|DIR|PATTERN [FILE|...]]
[\-k, \-\-keep N] [\-k, \-\-keep N]
[\-\-host HOSTNAME]
[\-u, \-\-username USERNAME]
[\-\-keyfile FILE]
.PD 0
.P
.PD
[\-s, \-\-checksum] [\-s, \-\-checksum]
[\-z, \-\-compress]
[\-\-remove\-before\-backup] [\-\-remove\-before\-backup]
.RE .RE
.SH DESCRIPTION .SH DESCRIPTION
.BR simple_backup .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. is a python script for performing backup of files and folders. It uses rsync to copy the files
Parameters for the backup such as input files/directories, output location and files or folders to exclude can be specified to the specified location. Parameters for the backup such as input files/directories, output
in a configuration file (default location $HOME/.config/simple_backup/simple_backup.conf) or directly on the command line. 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. Parameters specified on the command line will override those in the configuration file.
.SH OPTIONS .SH OPTIONS
.TP .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. Specify the configuration file, useful to specify a different one from the default.
.TP .TP
.B \-i, \-\-input INPUT [INPUT...] .B \-i, \-\-input INPUT [INPUT...]
Specify the files and directories to backup. Multiple inputs can be specified, just separate them with a space. Specify the files and directories to backup. Multiple inputs can be specified, just separate
If filenames or paths contain spaces, don't forget to escape them, or to use single or double quotes around them. 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 .TP
.B \-o, \-\-output DIR .B \-o, \-\-output DIR
Specify the directory where the files will be copied. The program will automatically create a subdirectory called Specify the directory where the files will be copied. The program will automatically
\(aqsimple_backup\(aq (if it does not already exist) and inside this directory the actual backup directory (using create a subdirectory called \(aqsimple_backup\(aq (if it does not already exist) and
the current date and time) inside this directory the actual backup directory (using the current date and time)
.TP .TP
.B \-e, \-\-exclude FILE|DIR|PATTERN [FILE|...]] .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. Specify files, directories or patterns to exclude from the backup. Matching files and directories
Multiple elements can be specified, in the same way as for the \-\-input option will not be copied. Multiple elements can be specified, in the same way as for the \-\-input option
.TP .TP
.B \-k, \-\-keep N .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 Specify how many old backups (so excluding the current one) will be kept. The default behavior
(same as N=\-1) 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 .TP
.B \-s, \-\-checksums .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 .TP
.B \-\-remove\-before\-backup .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. Default behavior is to remove old backups after successfully completing the backup.
.SH CONFIGURATION .SH CONFIGURATION
An example configuration file is provided at \(aq/etc/simple_backup/simple_backup.conf\(aq. Copy it to the default location An example configuration file is provided at \(aq/etc/simple_backup/simple_backup.conf\(aq.
($HOME/.config/simple_backup) and edit it as needed. 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 .SH SEE ALSO
.BR rsync (1) .BR rsync (1)
.SH AUTHORS .SH AUTHORS

View File

@ -516,7 +516,7 @@ class Backup:
def _parse_arguments(): def _parse_arguments():
parser = argparse.ArgumentParser(prog='simple_backup', parser = argparse.ArgumentParser(prog='simple_backup',
description='Simple backup script written in Python that uses rsync to copy files', description='Simple backup script written in Python that uses rsync to copy files',
epilog='Report bugs to dfucini<at>gmail<dot>com', epilog='See simple_backup(1) manpage for full documentation',
formatter_class=MyFormatter) formatter_class=MyFormatter)
parser.add_argument('-c', '--config', default=f'{homedir}/.config/simple_backup/simple_backup.conf', parser.add_argument('-c', '--config', default=f'{homedir}/.config/simple_backup/simple_backup.conf',