.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "STOREBACKUPDEL 1" .TH STOREBACKUPDEL 1 "2012-06-16" "perl v5.14.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" storeBackupDel.pl \- this program deletes backups created by storeBackup .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 11 \& storeBackupDel.pl [\-f configFile] [\-\-print] \& [\-b backupDirectory] [\-S series] [\-\-doNotDelete] \& [\-\-deleteNotFinishedDirs] [\-L lockFile] \& [\-\-keepAll timePeriod] [\-\-keepWeekday entry] [\-\-keepFirstOfYear] \& [\-\-keepLastOfYear] [\-\-keepFirstOfMonth] [\-\-keepLastOfMonth] \& [\-\-keepFirstOfWeek] [\-\-keepLastOfWeek] \& [\-\-keepDuplicate] [\-\-keepMinNumber] [\-\-keepMaxNumber] \& [\-l logFile \& [\-\-plusLogStdout] [\-\-suppressTime] [\-m maxFilelen] \& [[\-n noOfOldFiles] | [\-\-saveLogs] \& [\-\-compressWith compressprog]] .Ve .SH "WARNING" .IX Header "WARNING" .Vb 1 \& !!! USAGE IN PARALLEL WITH storeBackup.pl CAN DESTROY YOUR BACKUPS !!! .Ve .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-\-file\fR, \fB\-f\fR" 8 .IX Item "--file, -f" .Vb 1 \& configuration file (instead of parameters) .Ve .IP "\fB\-\-print\fR" 8 .IX Item "--print" .Vb 1 \& print configuration read from configuration file and stop .Ve .IP "\fB\-\-backupDir\fR, \fB\-b\fR" 8 .IX Item "--backupDir, -b" .Vb 1 \& top level directory of all backups (must exist) .Ve .IP "\fB\-\-series\fR, \fB\-S\fR" 8 .IX Item "--series, -S" .Vb 3 \& directory of backup series \& same parameter as in storeBackup / relative path \& from backupDir, default is \*(Aqdefault\*(Aq .Ve .IP "\fB\-\-lockFile\fR, \fB\-L\fR" 8 .IX Item "--lockFile, -L" .Vb 2 \& lock file, if exists, new instances will finish if \& an old is already running, default is $lockFile .Ve .IP "\fB\-\-doNotDelete\fR" 8 .IX Item "--doNotDelete" .Vb 1 \& test only, do not delete any backup .Ve .IP "\fB\-\-deleteNotFinishedDirs\fR" 8 .IX Item "--deleteNotFinishedDirs" .Vb 2 \& delete old backups which where not finished \& this will not happen if doNotDelete is set .Ve .IP "\fB\-\-keepAll\fR" 8 .IX Item "--keepAll" .Vb 6 \& keep backups which are not older than the specified amount \& of time. This is like a default value for all days in \& \-\-keepWeekday. Begins deleting at the end of the script \& the time range has to be specified in format \*(Aqdhms\*(Aq, e.g. \& 10d4h means 10 days and 4 hours \& default = $keepAll; .Ve .IP "\fB\-\-keepWeekday\fR" 8 .IX Item "--keepWeekday" .Vb 10 \& keep backups for the specified days for the specified \& amount of time. Overwrites the default values chosen in \& \-\-keepAll. \*(AqMon,Wed:40d Sat:60d10m\*(Aq means: \& keep backups of Mon and Wed 40days + 5mins \& keep backups of Sat 60days + 10mins \& keep backups of the rest of the days like spcified in \& \-\-keepAll (default $keepAll) \& if you also use the \*(Aqarchive flag\*(Aq it means to not \& delete the affected directories via \-\-keepMaxNumber: \& a10d4h means 10 days and 4 hours and \*(Aqarchive flag\*(Aq \& e.g. \*(AqMon,Wed:a40d Sat:60d10m\*(Aq means: \& keep backups of Mon and Wed 40days + 5mins + \*(Aqarchive\*(Aq \& keep backups of Sat 60days + 10mins \& keep backups of the rest of the days like specified in \& \-\-keepAll (default $keepAll) .Ve .IP "\fB\-\-keepFirstOfYear\fR" 8 .IX Item "--keepFirstOfYear" .Vb 2 \& do not delete the first backup of a year \& format is timePeriod with possible \*(Aqarchive flag\*(Aq .Ve .IP "\fB\-\-keepLastOfYear\fR" 8 .IX Item "--keepLastOfYear" .Vb 2 \& do not delete the last backup of a year \& format is timePeriod with possible \*(Aqarchive flag\*(Aq .Ve .IP "\fB\-\-keepFirstOfMonth\fR" 8 .IX Item "--keepFirstOfMonth" .Vb 2 \& do not delete the first backup of a month \& format is timePeriod with possible \*(Aqarchive flag\*(Aq .Ve .IP "\fB\-\-keepLastOfMonth\fR" 8 .IX Item "--keepLastOfMonth" .Vb 2 \& do not delete the last backup of a month \& format is timePeriod with possible \*(Aqarchive flag\*(Aq .Ve .IP "\fB\-\-firstDayOfWeek\fR" 8 .IX Item "--firstDayOfWeek" .Vb 2 \& default: \*(AqSun\*(Aq. This value is used for calculating \& \-\-keepFirstOfWeek and \-\-keepLastOfWeek .Ve .IP "\fB\-\-keepFirstOfWeek\fR" 8 .IX Item "--keepFirstOfWeek" .Vb 2 \& do not delete the first backup of a week \& format is timePeriod with possible \*(Aqarchive flag\*(Aq .Ve .IP "\fB\-\-keepLastOfWeek\fR" 8 .IX Item "--keepLastOfWeek" .Vb 2 \& do not delete the last backup of a week \& format is timePeriod with possible \*(Aqarchive flag\*(Aq .Ve .IP "\fB\-\-keepDuplicate\fR" 8 .IX Item "--keepDuplicate" .Vb 3 \& keep multiple backups of one day up to timePeriod \& format is timePeriod, \*(Aqarchive flag\*(Aq is not possible \& default = $keepDuplicate; .Ve .IP "\fB\-\-keepMinNumber\fR" 8 .IX Item "--keepMinNumber" .Vb 2 \& Keep that miminum of backups. Multiple backups of one \& day are counted as one backup. Default is 10. .Ve .IP "\fB\-\-keepMaxNumber\fR" 8 .IX Item "--keepMaxNumber" .Vb 8 \& Try to keep only that maximum of backups. If you have \& more backups, the following sequence of deleting will \& happen: \& \- delete all duplicates of a day, beginning with the \& old once, except the oldest of every day \& \- if this is not enough, delete the rest of the backups \& beginning with the oldest, but *never* a backup with \& the \*(Aqarchive flag\*(Aq or the last backup .Ve .IP "\fB\-\-keepRelative\fR, \fB\-R\fR" 8 .IX Item "--keepRelative, -R" .Vb 11 \& Alternative deletion scheme. If you use this option, all other \& keep options are ignored. Preserves backups depending \& on their *relative* age. Example: \& \-R \*(Aq1d 7d 2m 3m\*(Aq \& will (try to) ensure that there is always \& \- One backup between 1 day and 7 days old \& \- One backup between 5 days and 2 months old \& \- One backup between 2 months and 3 months old \& If there is no backup for a specified timespan \& (e.g. because the last backup was done more than 2 weeks \& ago) the next older backup will be used for this timespan. .Ve .IP "\fB\-\-logFile\fR, \fB\-l\fR" 8 .IX Item "--logFile, -l" .Vb 1 \& log file (default is STDOUT) .Ve .IP "\fB\-\-plusLogStdout\fR" 8 .IX Item "--plusLogStdout" .Vb 2 \& if you specify a log file with \-\-logFile you can \& additionally print the output to STDOUT with this flag .Ve .IP "\fB\-\-suppressTime\fR" 8 .IX Item "--suppressTime" .Vb 1 \& suppress output of time in logfile .Ve .IP "\fB\-\-maxFilelen\fR, \fB\-m\fR" 8 .IX Item "--maxFilelen, -m" .Vb 1 \& maximal length of file, default = 1e6 .Ve .IP "\fB\-\-noOfOldFiles\fR, \fB\-n\fR" 8 .IX Item "--noOfOldFiles, -n" .Vb 1 \& number of old log files, default = 5 .Ve .IP "\fB\-\-saveLogs\fR" 8 .IX Item "--saveLogs" .Vb 2 \& save log files with date and time instead of deleting the \& old (with [\-noOldFiles]) .Ve .IP "\fB\-\-compressWith\fR" 8 .IX Item "--compressWith" .Vb 2 \& compress saved log files (e.g. with \*(Aqgzip \-9\*(Aq) \& default is \*(Aqbzip2\*(Aq .Ve .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 2003\-2008 by Heinz-Josef Claes (see \s-1README\s0). Published under the \s-1GNU\s0 General Public License v3 or any later version