diff --git a/doc/xml/reference.xml b/doc/xml/reference.xml index 53a499282..292851daa 100644 --- a/doc/xml/reference.xml +++ b/doc/xml/reference.xml @@ -1307,7 +1307,9 @@ Expire backups that exceed retention. - does backup rotation but is not concerned with when the backups were created. If two full backups are configured for retention, will keep two full backups no matter whether they occur two hours or two weeks apart. + does full backup rotation based on the retention type which can be a count or a time period. When a count is specified, then expiration is not concerned with when the backups were created but with how many must be retained. Differential and Incremental backups are count-based but will always be expired when the backup they depend on is expired. See sections Full Backup Retention and Differential Backup Retention for details and examples. Archived WAL is retained by default for backups that have not expired, however, although not recommended, this schedule can be modified per repository with the retention-archive options. See section Archive Retention for details and examples. + + The expire command is run automatically after each successful backup and can also be run by the user. When run by the user, expiration will occur as defined by the retention settings for each configured repository. Expiration can also be limited by the user to a specific backup set with the --set option. It should be noted that the archive retention schedule will be checked and performed any time the expire command is run. diff --git a/doc/xml/release.xml b/doc/xml/release.xml index bd96e4100..e6e2395bd 100644 --- a/doc/xml/release.xml +++ b/doc/xml/release.xml @@ -128,6 +128,19 @@ + + + + + + + + + +

Improve expire command documentation.

+
+
+
diff --git a/doc/xml/user-guide.xml b/doc/xml/user-guide.xml index ecfddc1e2..339586897 100644 --- a/doc/xml/user-guide.xml +++ b/doc/xml/user-guide.xml @@ -1510,6 +1510,8 @@

Generally it is best to retain as many backups as possible to provide a greater window for Point-in-Time Recovery, but practical concerns such as disk space must also be considered. Retention options remove older backups once they are no longer needed.

+ +
Full Backup Retention diff --git a/src/command/help/help.auto.c b/src/command/help/help.auto.c index 6efb361bb..a9f50a43f 100644 --- a/src/command/help/help.auto.c +++ b/src/command/help/help.auto.c @@ -114,19 +114,64 @@ static const unsigned char helpDataPack[] = pckTypeStr << 4 | 0x09, 0x25, // Summary 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6B, 0x75, 0x70, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x20, 0x72, 0x65, 0x74, 0x65, 0x6E, 0x74, 0x69, 0x6F, 0x6E, 0x2E, - pckTypeStr << 4 | 0x08, 0xEB, 0x01, // Description - 0x70, 0x67, 0x42, 0x61, 0x63, 0x6B, 0x52, 0x65, 0x73, 0x74, 0x20, 0x64, 0x6F, 0x65, 0x73, 0x20, 0x62, 0x61, 0x63, 0x6B, - 0x75, 0x70, 0x20, 0x72, 0x6F, 0x74, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x62, 0x75, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6E, - 0x6F, 0x74, 0x20, 0x63, 0x6F, 0x6E, 0x63, 0x65, 0x72, 0x6E, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x77, 0x68, - 0x65, 0x6E, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6B, 0x75, 0x70, 0x73, 0x20, 0x77, 0x65, 0x72, 0x65, 0x20, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x2E, 0x20, 0x49, 0x66, 0x20, 0x74, 0x77, 0x6F, 0x20, 0x66, 0x75, 0x6C, 0x6C, - 0x20, 0x62, 0x61, 0x63, 0x6B, 0x75, 0x70, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x65, 0x64, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x72, 0x65, 0x74, 0x65, 0x6E, 0x74, 0x69, 0x6F, 0x6E, 0x2C, 0x20, 0x70, - 0x67, 0x42, 0x61, 0x63, 0x6B, 0x52, 0x65, 0x73, 0x74, 0x20, 0x77, 0x69, 0x6C, 0x6C, 0x20, 0x6B, 0x65, 0x65, 0x70, 0x20, - 0x74, 0x77, 0x6F, 0x20, 0x66, 0x75, 0x6C, 0x6C, 0x20, 0x62, 0x61, 0x63, 0x6B, 0x75, 0x70, 0x73, 0x20, 0x6E, 0x6F, 0x20, - 0x6D, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, - 0x6F, 0x63, 0x63, 0x75, 0x72, 0x20, 0x74, 0x77, 0x6F, 0x20, 0x68, 0x6F, 0x75, 0x72, 0x73, 0x20, 0x6F, 0x72, 0x20, 0x74, - 0x77, 0x6F, 0x20, 0x77, 0x65, 0x65, 0x6B, 0x73, 0x20, 0x61, 0x70, 0x61, 0x72, 0x74, 0x2E, + pckTypeStr << 4 | 0x08, 0xE3, 0x08, // Description + 0x70, 0x67, 0x42, 0x61, 0x63, 0x6B, 0x52, 0x65, 0x73, 0x74, 0x20, 0x64, 0x6F, 0x65, 0x73, 0x20, 0x66, 0x75, 0x6C, 0x6C, + 0x20, 0x62, 0x61, 0x63, 0x6B, 0x75, 0x70, 0x20, 0x72, 0x6F, 0x74, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x62, 0x61, 0x73, + 0x65, 0x64, 0x20, 0x6F, 0x6E, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x65, 0x6E, 0x74, 0x69, 0x6F, 0x6E, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x61, 0x6E, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, + 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x20, 0x6F, 0x72, 0x20, 0x61, 0x20, 0x74, 0x69, 0x6D, 0x65, 0x20, 0x70, 0x65, 0x72, 0x69, + 0x6F, 0x64, 0x2E, 0x20, 0x57, 0x68, 0x65, 0x6E, 0x20, 0x61, 0x20, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x20, 0x69, 0x73, 0x20, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2C, 0x20, 0x74, 0x68, 0x65, 0x6E, 0x20, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x69, 0x73, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x63, 0x6F, 0x6E, 0x63, 0x65, 0x72, + 0x6E, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x77, 0x68, 0x65, 0x6E, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, + 0x63, 0x6B, 0x75, 0x70, 0x73, 0x20, 0x77, 0x65, 0x72, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, + 0x75, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x68, 0x6F, 0x77, 0x20, 0x6D, 0x61, 0x6E, 0x79, 0x20, 0x6D, 0x75, 0x73, + 0x74, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6E, 0x65, 0x64, 0x2E, 0x20, 0x44, 0x69, 0x66, 0x66, 0x65, + 0x72, 0x65, 0x6E, 0x74, 0x69, 0x61, 0x6C, 0x20, 0x61, 0x6E, 0x64, 0x20, 0x49, 0x6E, 0x63, 0x72, 0x65, 0x6D, 0x65, 0x6E, + 0x74, 0x61, 0x6C, 0x20, 0x62, 0x61, 0x63, 0x6B, 0x75, 0x70, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x63, 0x6F, 0x75, 0x6E, + 0x74, 0x2D, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x62, 0x75, 0x74, 0x20, 0x77, 0x69, 0x6C, 0x6C, 0x20, 0x61, 0x6C, 0x77, + 0x61, 0x79, 0x73, 0x20, 0x62, 0x65, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6E, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6B, 0x75, 0x70, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x64, 0x65, 0x70, 0x65, + 0x6E, 0x64, 0x20, 0x6F, 0x6E, 0x20, 0x69, 0x73, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x2E, 0x20, 0x53, 0x65, + 0x65, 0x20, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x20, 0x46, 0x75, 0x6C, 0x6C, 0x20, 0x42, 0x61, 0x63, 0x6B, + 0x75, 0x70, 0x20, 0x52, 0x65, 0x74, 0x65, 0x6E, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x61, 0x6E, 0x64, 0x20, 0x44, 0x69, 0x66, + 0x66, 0x65, 0x72, 0x65, 0x6E, 0x74, 0x69, 0x61, 0x6C, 0x20, 0x42, 0x61, 0x63, 0x6B, 0x75, 0x70, 0x20, 0x52, 0x65, 0x74, + 0x65, 0x6E, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6C, 0x73, 0x20, 0x61, + 0x6E, 0x64, 0x20, 0x65, 0x78, 0x61, 0x6D, 0x70, 0x6C, 0x65, 0x73, 0x2E, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x64, 0x20, 0x57, 0x41, 0x4C, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6E, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x62, 0x61, 0x63, 0x6B, 0x75, 0x70, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x64, 0x2C, 0x20, 0x68, 0x6F, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2C, 0x20, 0x61, 0x6C, 0x74, 0x68, 0x6F, 0x75, 0x67, + 0x68, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x72, 0x65, 0x63, 0x6F, 0x6D, 0x6D, 0x65, 0x6E, 0x64, 0x65, 0x64, 0x2C, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6C, 0x65, 0x20, 0x63, 0x61, 0x6E, 0x20, 0x62, 0x65, 0x20, + 0x6D, 0x6F, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x70, 0x65, 0x72, 0x20, 0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, + 0x6F, 0x72, 0x79, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x65, 0x6E, 0x74, 0x69, + 0x6F, 0x6E, 0x2D, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x6F, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x2E, 0x20, + 0x53, 0x65, 0x65, 0x20, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, + 0x52, 0x65, 0x74, 0x65, 0x6E, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6C, + 0x73, 0x20, 0x61, 0x6E, 0x64, 0x20, 0x65, 0x78, 0x61, 0x6D, 0x70, 0x6C, 0x65, 0x73, 0x2E, 0x0A, 0x0A, + 0x54, 0x68, 0x65, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x20, 0x63, 0x6F, 0x6D, 0x6D, 0x61, 0x6E, 0x64, 0x20, 0x69, + 0x73, 0x20, 0x72, 0x75, 0x6E, 0x20, 0x61, 0x75, 0x74, 0x6F, 0x6D, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6C, 0x6C, 0x79, 0x20, + 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, + 0x6C, 0x20, 0x62, 0x61, 0x63, 0x6B, 0x75, 0x70, 0x20, 0x61, 0x6E, 0x64, 0x20, 0x63, 0x61, 0x6E, 0x20, 0x61, 0x6C, 0x73, + 0x6F, 0x20, 0x62, 0x65, 0x20, 0x72, 0x75, 0x6E, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, + 0x2E, 0x20, 0x57, 0x68, 0x65, 0x6E, 0x20, 0x72, 0x75, 0x6E, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, + 0x65, 0x72, 0x2C, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x77, 0x69, 0x6C, 0x6C, 0x20, + 0x6F, 0x63, 0x63, 0x75, 0x72, 0x20, 0x61, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6E, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x65, 0x6E, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6E, + 0x67, 0x73, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x65, 0x64, 0x20, 0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x2E, 0x20, 0x45, 0x78, 0x70, 0x69, 0x72, + 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x63, 0x61, 0x6E, 0x20, 0x61, 0x6C, 0x73, 0x6F, 0x20, 0x62, 0x65, 0x20, 0x6C, 0x69, + 0x6D, 0x69, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x74, 0x6F, + 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x62, 0x61, 0x63, 0x6B, 0x75, 0x70, 0x20, 0x73, + 0x65, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x2D, 0x2D, 0x73, 0x65, 0x74, 0x20, 0x6F, 0x70, + 0x74, 0x69, 0x6F, 0x6E, 0x2E, 0x20, 0x49, 0x74, 0x20, 0x73, 0x68, 0x6F, 0x75, 0x6C, 0x64, 0x20, 0x62, 0x65, 0x20, 0x6E, + 0x6F, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x20, 0x72, 0x65, 0x74, 0x65, 0x6E, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6C, 0x65, + 0x20, 0x77, 0x69, 0x6C, 0x6C, 0x20, 0x62, 0x65, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6B, 0x65, 0x64, 0x20, 0x61, 0x6E, 0x64, + 0x20, 0x70, 0x65, 0x72, 0x66, 0x6F, 0x72, 0x6D, 0x65, 0x64, 0x20, 0x61, 0x6E, 0x79, 0x20, 0x74, 0x69, 0x6D, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x20, 0x63, 0x6F, 0x6D, 0x6D, 0x61, 0x6E, 0x64, 0x20, 0x69, + 0x73, 0x20, 0x72, 0x75, 0x6E, 0x2E, // help command // -------------------------------------------------------------------------------------------------------------------------