From 688eda8b55b57b711020148c5b048de7c06d1744 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Thu, 1 Sep 2016 20:46:19 +0100 Subject: Fix case of filenames of "text" files used to generate protocols and docs. --- lib/backupstore/BackupProtocol.txt | 266 +++++++++++++++++++++++++++++++ lib/backupstore/Makefile.extra | 4 +- lib/backupstore/backupprotocol.txt | 266 ------------------------------- lib/bbackupquery/Documentation.txt | 194 ++++++++++++++++++++++ lib/bbackupquery/Makefile.extra | 2 +- lib/bbackupquery/documentation.txt | 194 ---------------------- lib/bbackupquery/makedocumentation.pl.in | 2 +- 7 files changed, 464 insertions(+), 464 deletions(-) create mode 100644 lib/backupstore/BackupProtocol.txt delete mode 100644 lib/backupstore/backupprotocol.txt create mode 100644 lib/bbackupquery/Documentation.txt delete mode 100644 lib/bbackupquery/documentation.txt (limited to 'lib') diff --git a/lib/backupstore/BackupProtocol.txt b/lib/backupstore/BackupProtocol.txt new file mode 100644 index 00000000..5921d009 --- /dev/null +++ b/lib/backupstore/BackupProtocol.txt @@ -0,0 +1,266 @@ +# +# backup protocol definition +# + +Name Backup +IdentString Box-Backup:v=C +ServerContextClass BackupStoreContext BackupStoreContext.h + +AddType Filename BackupStoreFilenameClear BackupStoreFilenameClear.h +AddType String std::string + +ImplementLog Server syslog +ImplementLog Client syslog +ImplementLog Client file + +LogTypeToText Filename "%s" VAR.GetClearFilenameIfPossible("OPAQUE").c_str() + +BEGIN_OBJECTS + +# ------------------------------------------------------------------------------------- +# Session commands +# ------------------------------------------------------------------------------------- + +Error 0 IsError(Type,SubType) Reply + int32 Type + int32 SubType + CONSTANT ErrorType 1000 + CONSTANT Err_WrongVersion 1 + CONSTANT Err_NotInRightProtocolPhase 2 + CONSTANT Err_BadLogin 3 + CONSTANT Err_CannotLockStoreForWriting 4 + CONSTANT Err_SessionReadOnly 5 + CONSTANT Err_FileDoesNotVerify 6 + CONSTANT Err_DoesNotExist 7 + CONSTANT Err_DirectoryAlreadyExists 8 + CONSTANT Err_CannotDeleteRoot 9 + CONSTANT Err_TargetNameExists 10 + CONSTANT Err_StorageLimitExceeded 11 + CONSTANT Err_DiffFromFileDoesNotExist 12 + CONSTANT Err_DoesNotExistInDirectory 13 + CONSTANT Err_PatchConsistencyError 14 + CONSTANT Err_MultiplyReferencedObject 15 + CONSTANT Err_DisabledAccount 16 + +Version 1 Command(Version) Reply + int32 Version + + +Login 2 Command(LoginConfirmed) + int32 ClientID + int32 Flags + CONSTANT Flags_ReadOnly 1 + + +LoginConfirmed 3 Reply + int64 ClientStoreMarker + int64 BlocksUsed + int64 BlocksSoftLimit + int64 BlocksHardLimit + + +Finished 4 Command(Finished) Reply EndsConversation + + +# generic success object +Success 5 Reply + int64 ObjectID + + +SetClientStoreMarker 6 Command(Success) + int64 ClientStoreMarker + + +# ------------------------------------------------------------------------------------- +# Generic object commands +# ------------------------------------------------------------------------------------- + +GetObject 10 Command(Success) + int64 ObjectID + # reply has stream following (if successful) + + +MoveObject 11 Command(Success) + int64 ObjectID + int64 MoveFromDirectory + int64 MoveToDirectory + int32 Flags + Filename NewFilename + + CONSTANT Flags_MoveAllWithSameName 1 + CONSTANT Flags_AllowMoveOverDeletedObject 2 + +# consider this an object command as, although it deals with directory entries, +# it's not specific to either a file or a directory + + +GetObjectName 12 Command(ObjectName) + int64 ObjectID + int64 ContainingDirectoryID + CONSTANT ObjectID_DirectoryOnly 0 + + # set ObjectID to ObjectID_DirectoryOnly to only get info on the directory + + +ObjectName 13 Reply + int32 NumNameElements + int64 ModificationTime + int64 AttributesHash + int16 Flags + # NumNameElements is zero if the object doesn't exist + CONSTANT NumNameElements_ObjectDoesntExist 0 + # a stream of Filename objects follows, if and only if NumNameElements > 0 + + +# ------------------------------------------------------------------------------------- +# Directory commands +# ------------------------------------------------------------------------------------- + +CreateDirectory 20 Command(Success) StreamWithCommand + int64 ContainingDirectoryID + int64 AttributesModTime + Filename DirectoryName + # stream following containing attributes + + +CreateDirectory2 46 Command(Success) StreamWithCommand + int64 ContainingDirectoryID + int64 AttributesModTime + int64 ModificationTime + Filename DirectoryName + # stream following containing attributes + + +ListDirectory 21 Command(Success) + int64 ObjectID + int16 FlagsMustBeSet + int16 FlagsNotToBeSet + bool SendAttributes + # make sure these flags are synced with those in BackupStoreDirectory + CONSTANT Flags_INCLUDE_EVERYTHING -1 + CONSTANT Flags_EXCLUDE_NOTHING 0 + CONSTANT Flags_EXCLUDE_EVERYTHING 15 + CONSTANT Flags_File 1 + CONSTANT Flags_Dir 2 + CONSTANT Flags_Deleted 4 + CONSTANT Flags_OldVersion 8 + # make sure this is the same as in BackupStoreConstants.h + CONSTANT RootDirectory 1 + + # reply has stream following Success object, containing a stored BackupStoreDirectory + + +ChangeDirAttributes 22 Command(Success) StreamWithCommand + int64 ObjectID + int64 AttributesModTime + # stream following containing attributes + + +DeleteDirectory 23 Command(Success) + int64 ObjectID + + +UndeleteDirectory 24 Command(Success) + int64 ObjectID + # may not have exactly the desired effect if files within in have been deleted before the directory was deleted. + + +# ------------------------------------------------------------------------------------- +# File commands +# ------------------------------------------------------------------------------------- + +StoreFile 30 Command(Success) StreamWithCommand + int64 DirectoryObjectID + int64 ModificationTime + int64 AttributesHash + int64 DiffFromFileID # 0 if the file is not a diff + Filename Filename + # then send a stream containing the encoded file + + +GetFile 31 Command(Success) + int64 InDirectory + int64 ObjectID + # error returned if not a file, or does not exist + # reply has stream following, containing an encoded file IN STREAM ORDER + # (use GetObject to get it in file order) + + +SetReplacementFileAttributes 32 Command(Success) StreamWithCommand + int64 InDirectory + int64 AttributesHash + Filename Filename + # stream follows containing attributes + + +DeleteFile 33 Command(Success) + int64 InDirectory + Filename Filename + # will return 0 if the object couldn't be found in the specified directory + + +GetBlockIndexByID 34 Command(Success) + int64 ObjectID + + # stream of the block index follows the reply + # returns an error if the object didn't exist + + +GetBlockIndexByName 35 Command(Success) + int64 InDirectory + Filename Filename + + # Success object contains the found ID -- or 0 if the entry wasn't found in the directory + # stream of the block index follows the reply if found ID != 0 + + +UndeleteFile 36 Command(Success) + int64 InDirectory + int64 ObjectID + # will return 0 if the object couldn't be found in the specified directory + + +# ------------------------------------------------------------------------------------- +# Information commands +# ------------------------------------------------------------------------------------- + +GetAccountUsage 40 Command(AccountUsage) + # no data members + +AccountUsage 41 Reply + int64 BlocksUsed + int64 BlocksInOldFiles + int64 BlocksInDeletedFiles + int64 BlocksInDirectories + int64 BlocksSoftLimit + int64 BlocksHardLimit + int32 BlockSize + +GetIsAlive 42 Command(IsAlive) + # no data members + +IsAlive 43 Reply + # no data members + +GetAccountUsage2 44 Command(AccountUsage2) + # no data members + +AccountUsage2 45 Reply + String AccountName + bool AccountEnabled + int64 ClientStoreMarker + int32 BlockSize + int64 LastObjectIDUsed + int64 BlocksUsed + int64 BlocksInCurrentFiles + int64 BlocksInOldFiles + int64 BlocksInDeletedFiles + int64 BlocksInDirectories + int64 BlocksSoftLimit + int64 BlocksHardLimit + int64 NumCurrentFiles + int64 NumOldFiles + int64 NumDeletedFiles + int64 NumDirectories + +# 46 is CreateDirectory2 diff --git a/lib/backupstore/Makefile.extra b/lib/backupstore/Makefile.extra index c55fd549..6f181abd 100644 --- a/lib/backupstore/Makefile.extra +++ b/lib/backupstore/Makefile.extra @@ -1,9 +1,9 @@ MAKEPROTOCOL = ../../lib/server/makeprotocol.pl -GEN_CMD = $(MAKEPROTOCOL) backupprotocol.txt +GEN_CMD = $(MAKEPROTOCOL) BackupProtocol.txt # AUTOGEN SEEDING -autogen_BackupProtocol.cpp autogen_BackupProtocol.h: $(MAKEPROTOCOL) backupprotocol.txt +autogen_BackupProtocol.cpp autogen_BackupProtocol.h: $(MAKEPROTOCOL) BackupProtocol.txt $(_PERL) $(GEN_CMD) diff --git a/lib/backupstore/backupprotocol.txt b/lib/backupstore/backupprotocol.txt deleted file mode 100644 index 5921d009..00000000 --- a/lib/backupstore/backupprotocol.txt +++ /dev/null @@ -1,266 +0,0 @@ -# -# backup protocol definition -# - -Name Backup -IdentString Box-Backup:v=C -ServerContextClass BackupStoreContext BackupStoreContext.h - -AddType Filename BackupStoreFilenameClear BackupStoreFilenameClear.h -AddType String std::string - -ImplementLog Server syslog -ImplementLog Client syslog -ImplementLog Client file - -LogTypeToText Filename "%s" VAR.GetClearFilenameIfPossible("OPAQUE").c_str() - -BEGIN_OBJECTS - -# ------------------------------------------------------------------------------------- -# Session commands -# ------------------------------------------------------------------------------------- - -Error 0 IsError(Type,SubType) Reply - int32 Type - int32 SubType - CONSTANT ErrorType 1000 - CONSTANT Err_WrongVersion 1 - CONSTANT Err_NotInRightProtocolPhase 2 - CONSTANT Err_BadLogin 3 - CONSTANT Err_CannotLockStoreForWriting 4 - CONSTANT Err_SessionReadOnly 5 - CONSTANT Err_FileDoesNotVerify 6 - CONSTANT Err_DoesNotExist 7 - CONSTANT Err_DirectoryAlreadyExists 8 - CONSTANT Err_CannotDeleteRoot 9 - CONSTANT Err_TargetNameExists 10 - CONSTANT Err_StorageLimitExceeded 11 - CONSTANT Err_DiffFromFileDoesNotExist 12 - CONSTANT Err_DoesNotExistInDirectory 13 - CONSTANT Err_PatchConsistencyError 14 - CONSTANT Err_MultiplyReferencedObject 15 - CONSTANT Err_DisabledAccount 16 - -Version 1 Command(Version) Reply - int32 Version - - -Login 2 Command(LoginConfirmed) - int32 ClientID - int32 Flags - CONSTANT Flags_ReadOnly 1 - - -LoginConfirmed 3 Reply - int64 ClientStoreMarker - int64 BlocksUsed - int64 BlocksSoftLimit - int64 BlocksHardLimit - - -Finished 4 Command(Finished) Reply EndsConversation - - -# generic success object -Success 5 Reply - int64 ObjectID - - -SetClientStoreMarker 6 Command(Success) - int64 ClientStoreMarker - - -# ------------------------------------------------------------------------------------- -# Generic object commands -# ------------------------------------------------------------------------------------- - -GetObject 10 Command(Success) - int64 ObjectID - # reply has stream following (if successful) - - -MoveObject 11 Command(Success) - int64 ObjectID - int64 MoveFromDirectory - int64 MoveToDirectory - int32 Flags - Filename NewFilename - - CONSTANT Flags_MoveAllWithSameName 1 - CONSTANT Flags_AllowMoveOverDeletedObject 2 - -# consider this an object command as, although it deals with directory entries, -# it's not specific to either a file or a directory - - -GetObjectName 12 Command(ObjectName) - int64 ObjectID - int64 ContainingDirectoryID - CONSTANT ObjectID_DirectoryOnly 0 - - # set ObjectID to ObjectID_DirectoryOnly to only get info on the directory - - -ObjectName 13 Reply - int32 NumNameElements - int64 ModificationTime - int64 AttributesHash - int16 Flags - # NumNameElements is zero if the object doesn't exist - CONSTANT NumNameElements_ObjectDoesntExist 0 - # a stream of Filename objects follows, if and only if NumNameElements > 0 - - -# ------------------------------------------------------------------------------------- -# Directory commands -# ------------------------------------------------------------------------------------- - -CreateDirectory 20 Command(Success) StreamWithCommand - int64 ContainingDirectoryID - int64 AttributesModTime - Filename DirectoryName - # stream following containing attributes - - -CreateDirectory2 46 Command(Success) StreamWithCommand - int64 ContainingDirectoryID - int64 AttributesModTime - int64 ModificationTime - Filename DirectoryName - # stream following containing attributes - - -ListDirectory 21 Command(Success) - int64 ObjectID - int16 FlagsMustBeSet - int16 FlagsNotToBeSet - bool SendAttributes - # make sure these flags are synced with those in BackupStoreDirectory - CONSTANT Flags_INCLUDE_EVERYTHING -1 - CONSTANT Flags_EXCLUDE_NOTHING 0 - CONSTANT Flags_EXCLUDE_EVERYTHING 15 - CONSTANT Flags_File 1 - CONSTANT Flags_Dir 2 - CONSTANT Flags_Deleted 4 - CONSTANT Flags_OldVersion 8 - # make sure this is the same as in BackupStoreConstants.h - CONSTANT RootDirectory 1 - - # reply has stream following Success object, containing a stored BackupStoreDirectory - - -ChangeDirAttributes 22 Command(Success) StreamWithCommand - int64 ObjectID - int64 AttributesModTime - # stream following containing attributes - - -DeleteDirectory 23 Command(Success) - int64 ObjectID - - -UndeleteDirectory 24 Command(Success) - int64 ObjectID - # may not have exactly the desired effect if files within in have been deleted before the directory was deleted. - - -# ------------------------------------------------------------------------------------- -# File commands -# ------------------------------------------------------------------------------------- - -StoreFile 30 Command(Success) StreamWithCommand - int64 DirectoryObjectID - int64 ModificationTime - int64 AttributesHash - int64 DiffFromFileID # 0 if the file is not a diff - Filename Filename - # then send a stream containing the encoded file - - -GetFile 31 Command(Success) - int64 InDirectory - int64 ObjectID - # error returned if not a file, or does not exist - # reply has stream following, containing an encoded file IN STREAM ORDER - # (use GetObject to get it in file order) - - -SetReplacementFileAttributes 32 Command(Success) StreamWithCommand - int64 InDirectory - int64 AttributesHash - Filename Filename - # stream follows containing attributes - - -DeleteFile 33 Command(Success) - int64 InDirectory - Filename Filename - # will return 0 if the object couldn't be found in the specified directory - - -GetBlockIndexByID 34 Command(Success) - int64 ObjectID - - # stream of the block index follows the reply - # returns an error if the object didn't exist - - -GetBlockIndexByName 35 Command(Success) - int64 InDirectory - Filename Filename - - # Success object contains the found ID -- or 0 if the entry wasn't found in the directory - # stream of the block index follows the reply if found ID != 0 - - -UndeleteFile 36 Command(Success) - int64 InDirectory - int64 ObjectID - # will return 0 if the object couldn't be found in the specified directory - - -# ------------------------------------------------------------------------------------- -# Information commands -# ------------------------------------------------------------------------------------- - -GetAccountUsage 40 Command(AccountUsage) - # no data members - -AccountUsage 41 Reply - int64 BlocksUsed - int64 BlocksInOldFiles - int64 BlocksInDeletedFiles - int64 BlocksInDirectories - int64 BlocksSoftLimit - int64 BlocksHardLimit - int32 BlockSize - -GetIsAlive 42 Command(IsAlive) - # no data members - -IsAlive 43 Reply - # no data members - -GetAccountUsage2 44 Command(AccountUsage2) - # no data members - -AccountUsage2 45 Reply - String AccountName - bool AccountEnabled - int64 ClientStoreMarker - int32 BlockSize - int64 LastObjectIDUsed - int64 BlocksUsed - int64 BlocksInCurrentFiles - int64 BlocksInOldFiles - int64 BlocksInDeletedFiles - int64 BlocksInDirectories - int64 BlocksSoftLimit - int64 BlocksHardLimit - int64 NumCurrentFiles - int64 NumOldFiles - int64 NumDeletedFiles - int64 NumDirectories - -# 46 is CreateDirectory2 diff --git a/lib/bbackupquery/Documentation.txt b/lib/bbackupquery/Documentation.txt new file mode 100644 index 00000000..b16a6f7c --- /dev/null +++ b/lib/bbackupquery/Documentation.txt @@ -0,0 +1,194 @@ + +bbackupquery utility -- examine store, compare files, restore, etc. + +This file has markers for automatic help generation script -- '>' marks a start of a command/help topic, +and '<' marks the end of a section. + +Command line: +============= + +> bbackupquery [-q] [-c configfile] [commands ...] + + -q -- quiet, no information prompts + -c -- specify another bbackupd configuation file + +The commands following the options are executed, then (if there was no quit +command) an interactive mode is entered. + +If a command contains a space, enclose it in quotes. Example + + bbackupquery "list testdir1" quit + +to list the contents of testdir1, and then exit without interactive mode. +< + +Commands: +========= + +All directory names relative to a "current" directory, or from root if they +start with '/'. The initial directory is always the root directory. + + +> ls [options] [directory-name] + + List contents of current directory, or specified directory. + + -R -- recursively list all files + -d -- list deleted files/directories + -o -- list old versions of files/directories + -I -- don't display object ID + -F -- don't display flags + -t -- show file modification time in local time + (and attr mod time if has the object has attributes, ~ separated) + -T -- show file modification time in GMT + -a -- show updated attribute instead of file modification time + -s -- show file size in blocks used on server + (only very approximate indication of size locally) + -h -- show file attributes hash + -D -- sort directories together with files (not dirs first) + -i -- sort by object ID (the old default) + -S -- sort by object size in blocks + -U -- don't sort the results (new default is to sort by name) + +list can be used as an alias. +< + +> list + + Alias for 'ls'. Type 'help ls' for options. +< + +> cd [options] + + Change directory + + -d -- consider deleted directories for traversal + -o -- consider old versions of directories for traversal + (this option should never be useful in a correctly formed store) +< + +> pwd + + Print current directory, always root relative. +< + +> lcd + + Change local directory. + + Type "sh ls" to list the contents. +< + +> sh + + All of the parameters after the "sh" are run as a shell command. + + For example, to list the contents of the location directory, type "sh ls" +< + +> get [] +get -i + + Gets a file from the store. Object is specified as the filename within + the current directory, and local filename is optional. Ignores old and + deleted files when searching the directory for the file to retrieve. + + To get an old or deleted file, use the -i option and select the object + as a hex object ID (first column in listing). The local filename must + be specified. +< + +> compare -a +compare -l +compare + + Compares the (current) data on the store with the data on the disc. + All the data will be downloaded -- this is potentially a very long + operation. + + -a -- compare all locations + -l -- compare one backup location as specified in the configuration file. + -c -- set return code + -q -- quick compare. Only checks file contents against checksums, + doesn't do a full download + -A -- ignore attribute differences + -E -- ignore exclusion settings + + Comparing with the root directory is an error, use -a option instead. + + If -c is set, then the return code (if quit is the next command) will be + 1 Comparison was exact + 2 Differences were found + 3 An error occured + This can be used for automated tests. +< + +> restore [-drif] [] + + Restores a directory to the local disc. The local directory specified + must not exist (unless a previous restore is being restarted). If the + local directory is omitted, the default is to restore to the same + directory name and path, relative to the current local directory, + as set with the "lcd" command. + + The root cannot be restored -- restore locations individually. + + -d -- restore a deleted directory or deleted files inside + -r -- resume an interrupted restoration + -i -- directory name is actually an ID + -f -- force restore to continue if errors are encountered + + If a restore operation is interrupted for any reason, it can be restarted + using the -r switch. Restore progress information is saved in a file at + regular intervals during the restore operation to allow restarts. +< + +> getobject + + Gets the object specified by the object id (in hex) and stores the raw + contents in the local file specified. + + This is only useful for debugging as it does not decode files from the + stored format, which is encrypted and compressed. +< + +> usage [-m] + + Show space used on the server for this account. + + -m -- display the output in machine-readable form + + Used: Total amount of space used on the server. + Old files: Space used by old files + Deleted files: Space used by deleted files + Directories: Space used by the directory structure. + + When Used exceeds the soft limit, the server will start to remove old and + deleted files until the usage drops below the soft limit. + + After a while, you would expect to see the usage stay at just below the + soft limit. You only need more space if the space used by old and deleted + files is near zero. +< + +> undelete +undelete -i + + Removes the deleted flag from the specified directory name (in the + current directory) or hex object ID. Be careful not to use this + command where a directory already exists with the same name which is + not marked as deleted. +< + +> delete + + Sets the deleted flag on the specified file name (in the current + directory, or with a relative path). +< + +> quit + + End session and exit. +< + + diff --git a/lib/bbackupquery/Makefile.extra b/lib/bbackupquery/Makefile.extra index e1049b6d..5d37c09f 100644 --- a/lib/bbackupquery/Makefile.extra +++ b/lib/bbackupquery/Makefile.extra @@ -1,6 +1,6 @@ # AUTOGEN SEEDING -autogen_Documentation.cpp: makedocumentation.pl documentation.txt +autogen_Documentation.cpp: makedocumentation.pl Documentation.txt $(_PERL) makedocumentation.pl diff --git a/lib/bbackupquery/documentation.txt b/lib/bbackupquery/documentation.txt deleted file mode 100644 index b16a6f7c..00000000 --- a/lib/bbackupquery/documentation.txt +++ /dev/null @@ -1,194 +0,0 @@ - -bbackupquery utility -- examine store, compare files, restore, etc. - -This file has markers for automatic help generation script -- '>' marks a start of a command/help topic, -and '<' marks the end of a section. - -Command line: -============= - -> bbackupquery [-q] [-c configfile] [commands ...] - - -q -- quiet, no information prompts - -c -- specify another bbackupd configuation file - -The commands following the options are executed, then (if there was no quit -command) an interactive mode is entered. - -If a command contains a space, enclose it in quotes. Example - - bbackupquery "list testdir1" quit - -to list the contents of testdir1, and then exit without interactive mode. -< - -Commands: -========= - -All directory names relative to a "current" directory, or from root if they -start with '/'. The initial directory is always the root directory. - - -> ls [options] [directory-name] - - List contents of current directory, or specified directory. - - -R -- recursively list all files - -d -- list deleted files/directories - -o -- list old versions of files/directories - -I -- don't display object ID - -F -- don't display flags - -t -- show file modification time in local time - (and attr mod time if has the object has attributes, ~ separated) - -T -- show file modification time in GMT - -a -- show updated attribute instead of file modification time - -s -- show file size in blocks used on server - (only very approximate indication of size locally) - -h -- show file attributes hash - -D -- sort directories together with files (not dirs first) - -i -- sort by object ID (the old default) - -S -- sort by object size in blocks - -U -- don't sort the results (new default is to sort by name) - -list can be used as an alias. -< - -> list - - Alias for 'ls'. Type 'help ls' for options. -< - -> cd [options] - - Change directory - - -d -- consider deleted directories for traversal - -o -- consider old versions of directories for traversal - (this option should never be useful in a correctly formed store) -< - -> pwd - - Print current directory, always root relative. -< - -> lcd - - Change local directory. - - Type "sh ls" to list the contents. -< - -> sh - - All of the parameters after the "sh" are run as a shell command. - - For example, to list the contents of the location directory, type "sh ls" -< - -> get [] -get -i - - Gets a file from the store. Object is specified as the filename within - the current directory, and local filename is optional. Ignores old and - deleted files when searching the directory for the file to retrieve. - - To get an old or deleted file, use the -i option and select the object - as a hex object ID (first column in listing). The local filename must - be specified. -< - -> compare -a -compare -l -compare - - Compares the (current) data on the store with the data on the disc. - All the data will be downloaded -- this is potentially a very long - operation. - - -a -- compare all locations - -l -- compare one backup location as specified in the configuration file. - -c -- set return code - -q -- quick compare. Only checks file contents against checksums, - doesn't do a full download - -A -- ignore attribute differences - -E -- ignore exclusion settings - - Comparing with the root directory is an error, use -a option instead. - - If -c is set, then the return code (if quit is the next command) will be - 1 Comparison was exact - 2 Differences were found - 3 An error occured - This can be used for automated tests. -< - -> restore [-drif] [] - - Restores a directory to the local disc. The local directory specified - must not exist (unless a previous restore is being restarted). If the - local directory is omitted, the default is to restore to the same - directory name and path, relative to the current local directory, - as set with the "lcd" command. - - The root cannot be restored -- restore locations individually. - - -d -- restore a deleted directory or deleted files inside - -r -- resume an interrupted restoration - -i -- directory name is actually an ID - -f -- force restore to continue if errors are encountered - - If a restore operation is interrupted for any reason, it can be restarted - using the -r switch. Restore progress information is saved in a file at - regular intervals during the restore operation to allow restarts. -< - -> getobject - - Gets the object specified by the object id (in hex) and stores the raw - contents in the local file specified. - - This is only useful for debugging as it does not decode files from the - stored format, which is encrypted and compressed. -< - -> usage [-m] - - Show space used on the server for this account. - - -m -- display the output in machine-readable form - - Used: Total amount of space used on the server. - Old files: Space used by old files - Deleted files: Space used by deleted files - Directories: Space used by the directory structure. - - When Used exceeds the soft limit, the server will start to remove old and - deleted files until the usage drops below the soft limit. - - After a while, you would expect to see the usage stay at just below the - soft limit. You only need more space if the space used by old and deleted - files is near zero. -< - -> undelete -undelete -i - - Removes the deleted flag from the specified directory name (in the - current directory) or hex object ID. Be careful not to use this - command where a directory already exists with the same name which is - not marked as deleted. -< - -> delete - - Sets the deleted flag on the specified file name (in the current - directory, or with a relative path). -< - -> quit - - End session and exit. -< - - diff --git a/lib/bbackupquery/makedocumentation.pl.in b/lib/bbackupquery/makedocumentation.pl.in index 530c4ff6..1def0768 100755 --- a/lib/bbackupquery/makedocumentation.pl.in +++ b/lib/bbackupquery/makedocumentation.pl.in @@ -3,7 +3,7 @@ use strict; print "Creating built-in documentation for bbackupquery...\n"; -open DOC,"documentation.txt" or die "Can't open documentation.txt file"; +open DOC,"Documentation.txt" or die "Can't open Documentation.txt file: $!"; my $section; my %help; my @in_order; -- cgit v1.2.3