Changelog History
Page 6
-
v1.02 Changes
October 28, 2001------------------------------------------------------------------------
- ➕ Added new script BackupPC_tarExtract to extract the smbclient tar archive. This reduces disk writes by perhaps 90-95% and disk reads by 50%. Previously, tar was used to extract and write everything to disk. Then BackupPC_dump would read enough of each file to compute the MD5 digest, and then compare the full file with candidate pool files. So for each 1MB file that matches a single file in the pool, there would be 1MB of disk writes and 2MB of disk reads (to compare two 1MB files).
BackupPC_tarExtract instead extracts the archive using a 1MB memory buffer. This allows the MD5 digest to be computed without touching the disk. Next, any potential pool file compares are done by comparing the pool file against the incoming tar data in memory, which only requires the pool file to be read. So for each 1MB file that matches a single file in the pool, there are now no disk writes, and only 1MB of reads. BackupPC_tarExtract handles arbitrary size files and repeated potential pool matches. If the incoming file doesn't match the pool then it is written to disk (once the pool is mature this happens maybe 5-10% of the time).
Substantial changes to BackupPC_dump:
- BackupPC_tarExtract is now used in place of tar.
- BackupPC_dump now reads the output from both smbclient and BackupPC_tarExtract and merges them into SmbLOG.
- Named pipes are no longer used to connect smbclient to tar (now BackupPC_tarExtract). Regular pipes are used instead. This avoids the need to system mknod or mkfifo.
- Locked files on the client that can't be read by smbclient previously were filled with 0x0 bytes by smbclient, meaning tar extracted a useless file filled with 0x0 bytes. Now, BackupPC_dump watches the output of smbclient and removes any files that smbclient couldn't read. This avoids storing useless files. It tries to replace such files with a hard link to a previous dump. These actions appear in the log file.
➕ added new module lib/BackupPC/FileZIO.pm. This handles pool file I/O and is used by BackupPC_tarExtract. BackupPC::FileIO supports reading and writing compressed and regular files and provides all the hooks for compression support in BackupPC (should be supported in next version). BackupPC::FileIO also does efficient writing of files that contain leading 0x0 bytes (by seeking past the 0x0 bytes). This is helpful when smbclient reads a locked file, and it fills the tar output with a file of the correct size but all 0x0. Such files will be later removed by BackupPC_dump. But in the meantime, BackupPC::FileIO writes such files efficiently (as sparse files), meaning just a few blocks of disk space will be needed even if the file is large.
alive/dead counting for blackout now works correctly for DHCP hosts.
👷 BackupPC resets activeJob on startup, to fix bug when BackupPC was killed and restarted with backups running.
➕ added extra non blocking select() in BackupPC to make sure the socket reads don't block.
BackupPC avoids queuing multiple BackupPC_queueAll's on the CmdQueue.
⚡️ Updated BackupPC_sendEmail to correctly parse the locked file error from 2.2.1a smbclient, so that missing Outlook file emails can be correctly sent.
🔄 Changed HostInfoRead() in lib/BackupPC/Lib.pm to lowercase the hostname read from the hosts file.
BackupPC_Admin provides general summary when the host name is empty.
🔧 configure.pl (and BackupPC) now requires perl 5.6.0 or later.
🔧 configure.pl complains if BackupPC is already running, reminding you to stop it before upgrading.
📚 updated documentation, and fixed auto-insertion of config.pl into BackupPC.pod (previously the last config parameter was left out of BackupPC.pod).
------------------------------------------------------------------------
-
v1.01 Changes
September 30, 2001------------------------------------------------------------------------
📚 Documentation cleanup in README, doc/BackupPC.pod, conf/config.pl.
BackupPC_sendMail now reads the optional per-PC config file, allowing email configuration parameters to be set on a per-PC basis.
✂ Removed the unused 4096-length MD5 digest code in lib/BackupPC/Lib.pm.
------------------------------------------------------------------------
-
v1.00 Changes
September 21, 2001------------------------------------------------------------------------
- 🎉 Initial release of BackupPC on sourceforge.net.