Home | Trees | Indices | Help |
|
---|
|
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|
|||
logger = logging.getLogger("CedarBackup2.log.actions.store")
|
|
Notes:
|
Builds and writes an ISO image containing the indicated stage directories. The generated image will contain each of the staging directories listed instagingDirs . The directories will be placed into
the image at the root by date, so staging directory
/opt/stage/2005/02/10 will be placed into the disc at
/2005/02/10 .
Note:
This function is implemented in terms of writeImageBlankSafe. The |
Writes a store indicator file into staging directories. The store indicator is written into each of the staging directories when either a store or rebuild action has written the staging directory to disc.
|
Runs a consistency check against media in the backup device. It seems that sometimes, it's possible to create a corrupted multisession disc (i.e. one that cannot be read) although no errors were encountered while writing the disc. This consistency check makes sure that the data read from disc matches the data that was used to create the disc. The function mounts the device at a temporary mount point in the
working directory, and then compares the indicated staging directories in
the staging directory and on the media. The comparison is done via
functionality in info priority.
Warning: The implementation of this function is very UNIX-specific. |
Builds and writes an ISO image containing the indicated stage directories. The generated image will contain each of the staging directories
listed in This function is similar to writeImage, but tries to implement a smarter blanking strategy. First, the media is always blanked if therebuildMedia
flag is true. Then, if rebuildMedia is false, blanking
behavior and todayIsStart come into effect:
If no blanking behavior is specified, and it is the start of the week, the disc will be blanked If blanking behavior is specified, and either the blank mode is "daily" or the blank mode is "weekly" and it is the start of the week, then the disc will be blanked if it looks like the weekly backup will not fit onto the media. Otherwise, the disc will not be blankedHow do we decide whether the weekly backup will fit onto the media? That is what the blanking factor is used for. The following formula is used: will backup fit? = (bytes available / (1 + bytes required) <= blankFactorThe blanking factor will vary from setup to setup, and will probably require some experimentation to get it right.
|
Gets a value for the newDisc flag based on blanking factor rules. The blanking factor rules are described above by writeImageBlankSafe.
|
Finds the correct daily staging directory to be written to disk. In Cedar Backup v1.0, we assumed that the correct staging directory matched the current date. However, that has problems. In particular, it breaks down if collect is on one side of midnite and stage is on the other, or if certain processes span midnite. For v2.0, I'm trying to be smarter. I'll first check the current day.
If that directory is found, it's good enough. If it's not found, I'll
look for a valid directory from the day before or day after which has
not yet been staged, according to the stage indicator file. The
first one I find, I'll use. If I use a directory other than for the
current day and options.full
flag is set, then the special "span midnite" logic will be
disabled and any existing store indicator will be ignored. I did this
because I think that most users who run cback --full store
twice in a row expect the command to generate two identical discs. With
the other rule in place, running that command twice in a row could result
in an error ("no unstored directory exists") or could even
cause a completely unexpected directory to be written to disc (if some
previous day's contents had not yet been written).
Note: This code is probably longer and more verbose than it needs to be, but at least it's straightforward. |
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0beta1 on Mon May 5 19:58:06 2008 | http://epydoc.sourceforge.net |