Return to Backup Software Comparisons
Backup4All 3.6 was reviewed in the process of searching for the best backup software.
Backup4All is a solid, highly configurable backup utility. It worked flawlessly in handling large backup jobs, and is well suited for offsite FTP backup. While there are a few features that I would like to see added, I can highly recommend this utility. For encryption and incremental backups, the more expensive Professional version will be required.
Backup4All is my current choice for the the foundation of my ultimate backup scheme.
- Stable software platform (no crashes or significant bugs).
- Full, differential, incremental and mirror backup operations using a catalog / database.
- Compression and encryption of jobs uses non-proprietary Zip format with large-file support and useful splitting implementation.
- Very flexible versioning options, allowing for incremental versions to be merged into a new full backup
- Email notification can include logs, with provisions for compression, encryption and SSL for SMTP.
- Ability to add scripting functions to perform tasks before and after each job.
- Performs full backup automatically when incremental size increases past threshold
- Nice preview mode of job statistics ahead of time for next backup.
- Logs associated with each backup job.
- Very good viewer of files in catalog with filters for: modified files, new files, same files, etc. Plus, see all versions in Explore view.
- Trial version has no functionality restrictions. Good for 30 days.
- Email-based support is quick to respond and very helpful. Documentation is well-written and thorough.
- Development is active, bringing in new features regularly.
While Backup4All has worked extremely well for my needs, there are a few issues that I would like to see addressed as they could have some impact on large backup jobs and FTP backups.
- No pause - There are many times when you may want to use your internet connection but it may be completely consumed by the FTP process. The ability to pause a long process is extremely important and its omission is surprising. Performing an initial full backup or remote incremental backups are naturally very time consuming. WORKAROUND: To get around the impact on web surfing, I have configured my router to use a lower QoS priority for FTP traffic (please see the backup software setup page). UPDATE: Softland has indicated that this feature will be added in an upcoming version.
- No resume after cancel - Pressing the cancel during a long backup operation (as there is no Pause) means that the entire process must be restarted should you intend to resume it later. If you are part-way through a 20-hour upload of 350 ZIP split files, you will have to start all over. It would have been nice if the program could have provided some mechanism to resume an aborted transfer.
- Lack of response - Pressing the cancel during certain operations can cause the program to remain in an aborting state for a very long time. In the worst case, trying to abort an FTP backup recovery download may take an hour or more. The program forces you to wait for the entire backup before allowing you to quit the application. If the FTP server goes down during an operation, the program may appear to hang, even though it will eventually return control to the user. NOTE: I have filed a bug report for this and Softland has acknowledged the problem and may address it soon.
- Limited real-time feedback is provided during the backup process. Only shows total % and current file progress. Doesn't show total files, total MB, total compressed MB, compression ratio, estimated end time, estimated splits, file transfer bandwidth, etc. Thankfully, data compression and transfer times are roughly constant rate, so it is possible to make an educated guess.
In this section, I'll note the features that I think stand out from other comparable backup programs.
- User-configurable compression filter. For reasons listed on the backup software setup page, it is extremely important to have some means to exclude file compression by file type. Backup4All provides a filter on a per-job basis.
- FTP features offer bandwidth throttling, SSL encryption and XCRC. I would have really liked to try out the XCRC option (which allows much faster checksum comparisons to be performed on the FTP server instead of downloading the file conten to compute CRC), but my NAS box doesn't support it. Similarly, my NAS doesn't support SFTP, so I have to use the traditional, insecure FTP.
- Backup job groups - this can be useful for administering advanced backup sets. My backup process is partitioned into four jobs (with different archiving and frequency requirements), so this grouping is a nice touch.
- Mirror backup - There are many situations where a mirror backup job is more appropriate than a typical full + incremental backup scheme. Backup4All handles this nicely.
- ZIP archive creation uses non-proprietary format and can be created to allow for independent recovery. Termed "create independent splits" in Backup4All, the feature allows each segment of a large split backup job to be recovered independently by WinZip or other utility. This is an extremely useful feature, and one that I would strongly recommend using. Traditional backup software will create a single huge ZIP archive and then simply truncate the file into manageable chunks. Unfortunately, all chunks would need to be concatenated together before any decompression can occur. With such schemes, a single error or loss in one chunk would jeapordize the entire backup. Backup4All allows one to avoid this potential disaster.
- Has the option to limit the maximum number of backups on the server and, if selected, merge the stored backups to maintain the backup limit. This wil be a very useful feature if you have a fast backup connection (i.e. not done remotely via FTP). There are also options to have full backups automatically created when the sum of the incremental backups exceeds a certain size or number. Again, this may only really be practical if you have a fast backup connection or a small total backup size.
- Strong criteria for incremental backup selection. For more details, please see my article on incremental backup methods. Depending on your needs, you may be able to rely simply on file system attributes for change detections. Those who use a photo browsing application to embed IPTC metadata may need to consider the deep-file introspection offered by CRC32.
- Very nice file-based restore view (explorer). For each file in the catalog, you can see what versions are available in the backup set. With each version, you can identify the backup job number that contains the version, and the last modification date.
- When recovering a file (or viewing it directly in the explorer), Backup4All only downloads the relevant backup split archive until it reaches the section of the ZIP archive that contains the file of interest. This means that if the file is saved somewhere near the start of a 250MB ZIP split, it may only take a few moments to recover from an FTP offsite backup. If it lies near the end, you may have to wait a long time.
- Full command-line scripting capability.
Suggestions for Use
Please see my backup options page for general configuration of backup software. The following sections indicate a few additional details relevant to Backup4All.
Compression Exclusion Filters
The compression exclusion options that are set by default in Backup4all are not optimum for digital photographers. By default, the program skips certain file types when creating the compressed archives, but I would recommend adding the following extensions as well: .jpg .bmp .tga .avi .mpg .crw .cr2 .nef .dng. This can be done by inserting the following string at the end of the Zip filter options field:
I only use the Normal compression (Medium) level as the Best compression (slow) setting was far slower in my tests. This mode may have been worth setting if the extra time spent compressing the files on the PC was offset by larger savings in file upload times. In some cases, the savings in file upload time may be greater than the additional compression time required on the PC. In a quick test on a folder containing 475MB of compressible file types, the time spent compressing with normal was 2 min 03 sec for a compressed file size of 288MB. For the "best compression" mode, the compression time was 3:13 with very little reduction in compressed file size. With little benefit from more compression effort, I leave the setting at Normal.
Make sure that you configure the split setting to a size such as 250MB. The default is Automatic, which may generate a single ZIP file as large as your backup! Keep in mind the considerations regarding ZIP size and recovery. It may be more practical to use a much smaller split size. Balance the time required to recover / upload versus the maximum size of individual files within your collection and the number of backup segments you expect to have online over time.
The ZIP split files (if independent split was not enabled) are named by default with a two-digit incrementing number in the file extension (e.g. 1_E.z04). This gave me some concern in how it would handle jobs in excess of 100 parts. Thankfully, the tool simply added a third digit (e.g. 1_E.z134) without problem. Note that you can customize the file names used for the splits using variable substitution.
The other problem with large archive files is that it makes extraction via other ZIP utilities difficult. It is strongly suggested that you have the Create Independent Splits enabled. I feel that it is important that a) a third-party utility (such as WinZip) can read your archived files and b) if the job is spanned across hundreds of segments, that a failure in one won't cause a failure for the entire set.
I was able to confirm that I could open each Backup4All archive file in WinZip 9, but they could not be opened by other ZIP-based utilities such as WinRar 3.6 or Windows XP. These latter utilities can't open the ZIP archives because encryption (with AES) requires a the newer ZIP file format which is not as compatible with third-party utilities. Please see the section below on File Encryption. If this additional compatibility is important, you can select the older Zip format instead.
If you are short on space on your boot drive and have an alternate drive, consider reassigning the temp folder, as it defaults to the Documents & Settings folder on your boot drive.
File encryption is extremely useful if you plan on storing your backups in a location (or across a medium) that might be compromised. Encryption within Backup4All is quite fast, but is only provided in the Professional Version.
I was interested to see how the AES-protected ZIP files would be viewed in other utilities such as WinZip or Windows XP.
Windows XP can see the contents of the ZIP archive with all filenames visible, but attempts to open up an individual file will fail. You will receive an error message that reads: File skipped unknown compression method. The problem is that AES encryption is not supported by the basic ZIP standard that is offered by older ZIP utilities and Windows XP.
Therefore, a more recent/advanced ZIP utility such as WinZip should be used instead. Although using AES 128-bit (or other variants) will reduce your compatibility slightly, the benefits in increased security are generally more important. In my case, I am uploading my incremental backups to an offsite server across the internet (potentially open to sniffing attacks). As it is stored on my own server (NAS), the destination too, may not be completely secure. As a result, I must use encryption for all of my backups. If a hacker either intercepted my incremental upload or managed to download my backup sets, the data will be useless without the encryption key / password. To ensure that your encrypted data is secure, you should choose a password that is strong and long enough (16 characters will provide a full 128-bit key).
If you are using email notification, it is strongly suggested that you use both encryption for the log file itself in addition to SSL for sendmail SMTP server authentication. SSL SMTP authentication will ensure that your email passwords are not intercepted by a hacker when the email notification message is sent to your mail server. Encrypting the log file ensures that the attachment itself is not visible either.
NAS + FTP
If you are using a remote FTP backup setup, then it may be worth disabling the automatic full backups (consolidation) feature. Full backup jobs over the internet may be completely impractical, and you may want to perform these manually on the occasions where you can move your NAS box and plug it directly into your PC's gigabit port.
With my NAS drive plugged directly into my gigabit NIC (without a crossover ethernet cable), I was only able to get it transferring successfully when configured for network drive mode, not FTP. With the NAS drive plugged into my router or across the internet on another router, FTP worked flawlessly. I am unsure of the source of the problems when operating in directly-connected FTP mode.
Given the limitations of practical offsite backup operations, I configure the backup profile for an initial full backup (when it is directly connected to my PC), and then I modify the settings to rely on FTP backup for all of the incremental jobs following the full backup. In this way (direct-connected network drive), I am able to backup just over 100 GB of compressed data in approximately 11 hours. This translates into ~ 2.7 MB/sec, which is primarily driven by time spent encrypting (although this job is compressed as well, the majority of the files were JPEGs, which I instructed B4A to skip compression). For my data backup jobs, I see ~ 1.7 MB/sec, which is slower due to the fact that most of the files were also compressed prior to encryption.
Automatic FTP Download for Website Owners
While Backup4All does not provide an option to automate downloading from an FTP server for backup, you can accomplish this very easily with the Before Backup Run option. I use this method to backup the mySQL databases on my website and roll them into my regular offsite backup process. For more details, please see the backup config page.
Unattended Backup Operation
Because I set the backup session to start my computer automatically, I have also added an "action" to be performed after the backup job completes: shutdown. This way, the computer turns itself on, performs the backup and then shuts down the computer. Unfortunately, if you configure Backup4All to perform the shutdown after the job, you won't get any warning should you happen to be using the computer at the time! For this reason, I currently use my own command-line shutdown routine:
C:\Program Files\SysInternals\PsTools\psshutdown.exe" -c -t 30 -v 30 -e p:0:0 -m "Shutdown after Backup
The above command-line option (set in the After Backup Run field in the Actions dialog), uses PsShutdown from SysInternals to cleanly shut down the computer with a 30-second warning dialog that can be cancelled. Hopefully a future version of Backup4All will implement a similar cancel dialog box in the built-in Shutdown action.
Scheduling can either use its built-in scheduler or Windows XP Scheduled Tasks mechanism (I have been using the Windows XP option without problems). Note that for a Windows XP Scheduled Task to actually turn on your computer, not only must your PC support this capability, but you must also have turned off your computer previously with either Standby or Hibernate modes, not Shutdown. I use standby at the end of the day since in the past I have found that not all peripheral drivers awoke from Hibernate without troubles. However, it is important to consider that not all devices recover from a standby / sleep or hibernate mode properly. I have seen problems with external USB peripherals as well as ATA drives disappearing after resume from sleep.
Partitioned Backup Jobs
With Backup4All, I have split my backup duties into several jobs. Why?
Take a good look at the type of files that you plan to back up and then group them in terms of how frequently they will be updated, how many previous versions you want to keep and how large the files are.
For the majority of my files I want a daily incremental upload and the ability to roll-back to older versions if necessary. With an incremental backup, each revised version occupies space on the destination drive. For most files, this is fine.
However, now consider certain large files that are updated regularly. For example, your photo catalog program might have a 400MB database file that changes any time you tag or categorize a new photo. If this database file were included in your incremental backup set, you may end up having an incremental ZIP upload of 400MB every day! Very quickly, you will have filled up your destination drive! Not only that, but the older versions of your database (from several weeks earlier) may be of no interest to you, so why waste space on them?
The answer: use a separate backup job with a different profile. In my case I have a Data job and a Photo Database job. The Photo Database job is only run three times / week (at most) and is done with 3 incremental backups (providing a week of rollback) and then a full backup (clearing out old incrementals). This way I never consume more than 4x the database file storage, and I don't burden my daily incremental uploads with the large database updates.
Backup4All handles these varied needs nicely with the ability to manage multiple jobs in a backup group.
Suggestions for Improvement
While Backup4All is a superb utility, there are a few items that I feel could be done to make it an even better program. These are in addition to the items listed in the Cons section at the start of the article.
- If scheduled to turn off the computer after the job (standby or shutdown), it would be nice if the program would give the user a timed warning box with a cancel button -- in case the user was using the computer at the time.
- Backup4All saves a copy of the .bkc (backup catalog) on the remote drive with clear-text filenames embedded, even if you are using an encrypted backup. This leaves open some privacy issues if the backup drive or transfers are accessible to others or easily compromised. At least moving the ASCII characters to non-printing bytes (with an XOR) would help prevent casual hackers from the obvious introspection of your filenames.
- Some of the longer operations are not handled gracefully from a user interface perspective. While these are not critical issues, they should be addressed:
- Performing a file system scan to determine which files have changed can take a very long time (over an hour for 80GB in CRC32 mode). No visual feedback is provided during this period, meaning that the user has no idea what is happening nor how long they need to wait.
- Operations such as switching between Explore view (after Expand All) and Statistics view (after calculate is pressed) will cause a full rescan to be performed. The results of the scan should be preserved as the procedure may take over an hour in some cases. Similarly, toggling any of the filters (New, Same, Modified) will cause a rescan. The results should have been computed a single time, with the filtering calculated afterwards. If the scan is performed in Explore view, then there is no way to tell how what the stats were unless you recompute the stats by performing a scan again.
- Sometimes the scan process will be operating in the background with no apparent way to stop it, particularly if you change view modes.
- It would seem that restore of files via FTP could potentially be made much faster if the FTP restart command were to start reading from a specific offset within the ZIP file, instead of downloading the entire ZIP split file (which may take over an hour if remote).
Ideally, Backup4All would start downloading at the offset of the file being recovered. Unfortunately, as the entire file is downloaded and B4A doesn't provide much visual feedback
during the search process, you'll end up watching the Searching file versions
prompt for quite a while. Even half-way through the download process, the progress still shows 0%.
- No online support forum. That said, support is handled via email, and the Softland staff has been very helpful and quick to respond to any questions or suggestions.
I have found Backup4All to be one of the best tools that I have evaluated in my search for the ultimate backup program. It is well organized and is easily understood by novice users, while advanced users will find additional options hidden beneath the surface. The implementation of the backup process itself is solid and a very thorough feature set has been provided, improved regularly by an active development team.
Thankfully, Backup4All relies on the industry-standard Zip compression format, minimizing concerns over long-term product support and backup recovery. One of the more useful features I found was the powerful versioning system that automatically purges old snapshots according to a specification of storage requirements. Through the partitioning of one's backup into several smaller jobs, it is a simple matter to implement virtually any automated backup scheme. If you are searching for a robust and powerful backup utility, Backup4All should be on your shortlist.