I'm reading through BackupPC documentation and trying to understand how it functions. I'm a little confused about two part:
1) Difference between full and incremental: full says it does all files. I guess this means that all files are pulled down, then checked and pooled. Incremental first checks modification, then only copies the files that are different, then pools. However, if incremental/full are working correctly, they will (in the end) function semantically the same, because all files which would have been copied by full that would not have been copied by incremental would be pooled anyways, resulting in nothing new written to disk other than hard links. So, why do a full backup ever after completing the first one? Why not run 1 full, then always do incrementals? 2) The order of operations is ping->dump->extract->link. I'm trying to understand the file compare/extract/link part. The available transfer methods are rsync, rsyncd, ftp, smb, and tar. The documentation says that incoming data is extracted to __TOPDIR__/pc/$host/new (if it's compressed), with tarExtract checking the MD5 hash of files as they come in. It only checks the first N bytes, meaning that the hash can be completed 100% in memory, before the file is written to disk. However, it then says "BackupPC_tarExtract and rsync can handle arbitrarily large files and multiple candidate matching files without needing to write the file to disk in the case of a match." This I don't quite understand: if the file is larger than my memory, it has to be stored while being compared bit-by-bit with other MD5-matching files to do the full compare. Basically, for the extract->compare part: * The first N bytes of incoming files are written to memory, then the md5 is performed against all existing files, then what? If it doesn't find a match, it's written to the pool, but if it does, it still has to write the file (there could be md5 collisions), correct? Does it store a list of the MD5 collisions? Because in the BackupPC_link documentation, it says it has to check against all files again, since there could have been some added by another link process. * Rsync is special because it doesn't have to write a file to disk in case of a match? How does this work with link? * The above is not true for ssh, ftp, rsyncd, etc? Thank you! ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk _______________________________________________ BackupPC-users mailing list [email protected] List: https://lists.sourceforge.net/lists/listinfo/backuppc-users Wiki: http://backuppc.wiki.sourceforge.net Project: http://backuppc.sourceforge.net/
