Zephyr Backup is a tiny and free backup scripting program intended for intermediate to advanced users. It is powerful enough to help you craft the exact backup you want, with very little hassle, and very little wasted time or space. It was designed for backing up data to a USB hard drive, but can also be used for many other purposes. It also features full support for Unicode (foreign-language characters in folder or filenames), which is sorely lacking in many backup programs.
Zephyr Backup runs on Windows 2000 or Windows XP (and possibly Vista).
Download: Zephyr Backup v1.08
Using Zephyr Backup [ view ]
On the program's main screen, you can make a list of the source folders that you'd like to back up, each with various options. When you've set it up the way you like, just click 'Run Backup'. You can also click on Save Script and give it a filename; then, next week, next month, etc., when it's time to back things up again, just connect your USB hard drive (or other destination), load the script, and click 'Run Backup' again. It is the options for each source folder, however, that make Zephyr Backup so handy: - Choose from two copy modes: - Full Copy - copies all files from the source folder. - Update - only copies new files, or files with a more recent time stamp. - Recurse option (copies files in all sub-folders, too) - Plus, a list of sub-folders not to recurse into (optional) - Filename filter - only files whose name matches the filter(s) will be copied: *.* (all files - the default) *.txt *.mp3;*.aac;*.m3u data????.bmp *.doc;*.htm*;*.txt;*.xls - Include Hidden & System files option - And, finally, the destination folder into which to copy the files. - If you like, use the special formatting tokens to dynamically name the destination folders. (More on this below)
Other Features [ view ]
Zephyr Backup also saves a convenient log file for you, detailing what files were backed up, and listing any warnings or errors that occurred. (For example, sharing violations can pop up if files were in use by other active programs, and couldn't be copied.) Another nice feature is the ability to use special tokens to dynamically determine destination folder names. For example, if you specified the following destination folders in your backup: E:\backups\<USER>\ E:\<DOW+>\ E:\weekly_backups\<YEAR>_<MONTH>_<DAY>\docs\ ...then at backup time, ZB would translate them accordingly: E:\backups\Billy Joe\ E:\TUESDAY\ E:\weekly_backups\2008_05_16\docs ...Allowing you to archive your files to many different, "intelligently-named" destination folders.
Tips [ view ]
If your destination drive is a USB (or other removeable) hard drive, you should disable write cacheing on the disk. You can do this by right-clicking the drive, selecting Properties, clicking the 'Hardware' tab, clicking Properties, going to the Policies tab, and then un-checking the 'Enable write cacheing on the disk' option. When finished with a backup, don't forget to dismount the drive (the Safely Remove Hardware option in your system tray - near the clock) before powering it off or disconnecting it. If your destination drive uses NTFS, we recommend turning off indexing on the destination drive (or, at least, for the destination folders) so that backups can write faster. Similarly, you probably want to carefully choose whether or not to enable folder compression (a Windows option) for your destination folders. If the folder stores media files such as photos, videos, or music, then compression isn't going to save very much space, and will actually slow you down. But for most other data, compression saves a lot of space, and, if your CPU is decent, can even result in a faster backup! (For non-previously-compressed data, it usually stores using 30-40% less space and about 30-40% faster.) If you have a few networked computers, you can back everything up without having to connect the USB drive to each computer. Just have some of them run a script to back files up onto a shared folder(s) on the main computer, then running another script to do a backup to a detachable USB hard drive.
Recommended script setup for the data of ordinary users [ view ]
Perhaps one of the more efficient ways to use Zephyr Backup is as follows. The following is generally a good scheme to set up for someone who don't always know (or control) exactly where their data is. First, add (as sources) the folders that you *know* have important data in them. For example: C:\work C:\Documents and Settings\ryan\ C:\movies And configure the output directories for these source folders to something like this: E:\DatedBackups\<YEAR>_<MONTH>_<DAY>\work E:\DatedBackups\<YEAR>_<MONTH>_<DAY>\Documents and Settings\ryan E:\DatedBackups\<YEAR>_<MONTH>_<DAY>\movies Then add 'C:\' as a source folder, and set it to "Update" mode instead of "Full Copy." This is going to catch anything we missed, but it will always write to the same folder (rather that a dated folder) on the destination drive, so, any files that were already there (and haven't changed) can be skipped - making our backup go MUCH faster. The output directory should be something like: E:\ProgressiveBackup\ There is one catch here. In order to do an 'Update' with C:\ as a source folder, it has to scan every single file on your hard drive. *This is very slow.* We know we don't have to worry about copying the 3 directories above (work, movies, etc.) because they were covered in the previously-added source folders. So, let's add them, under the C:\ source folder, as "excluded sub-folders": C:\work C:\Documents and Settings\ryan\ C:\movies Whatsmore, let's also also ban this huge directory, where user-data is seldom kept: C:\windows That's it! Save your script, then run it. The first time you run it, the C:\ copy will take a long time. However, on subsequent executions, it will go much faster - it only has to scan the folder & file hierarchy, and can likely skip copying of the vast majority of the files.
Recommended script setup for the data of power users [ view ]
Note that "user" here refers to the person whose data we're backing up - NOT to the person who is writing the script. If you're a computer whiz, but the script will be backing up the data **of a person who is not a computer whiz**, then DON'T USE THIS METHOD. The nightmare scenario goes like this: you set up their script; six months later, they install a new program; the backup isn't hitting those data files; a year later they lose their hard drive, and unfortunately, those new data files are GONE FOREVER. That said - if you know exactly where your data is, I recommend a setup such as the following: Source Folder Destination Copy method ------------- ----------- ----------- c:\...\mp3 e:\mp3 update c:\...\photos e:\photos update c:\...\big_data e:\big_data update c:\docume~1\ryan e:\weekly\<YEAR>_<MONTH>_<DAY>\ds_ryan full copy c:\notes e:\weekly\<YEAR>_<MONTH>_<DAY>\notes full copy The idea is that for large data folders, you just copy the files that have been added or changed; for smaller data folders (such as 'documents and settings\YourUserName' - which has your bookmarks, emails, calendar, 'My Documents' folder, etc.), you can go ahead and do a full copy of the entire folder, into a dated folder on the destination drive.
Destination Folder Token Reference [ view ]
If the current user's name was 'billy', and the backup was initiated on Thursday, Jan. 29, 2008, at 1:33pm and 59 seconds, then these tokens would translate as follows: TOKEN TRANSLATION --------- --------- <YEAR> 2008 <MONTH> 01 <DAY> 29 <MONTH-> JAN <Month-> Jan <month-> jan <MONTH+> JANUARY <Month+> January <month+> january <DOW> 5 <DOW-> THU <Dow-> Thu <dow-> thu <DOW+> THURSDAY <Dow+> Thursday <dow+> thursday <HOUR> 15 <MIN> 33 <SEC> 59 <USER> billy
Version History [ view ]
v1.08 - 8/31/2009 - Added full Unicode support! Now, your data files (and folders) with funky foreign characters in their names (beyond the common latin-based characters that are actually in the ASCII set) should all backup properly. - ZephyrBackup has been revamped to run on the Windows CopyFile command, rather than DOS Xcopy, after discovering that Xcopy would abort copying the source folder when just one long filename (over 260 chars) was encountered (it's a bug in Xcopy - there is no way to tell it to continue - even the /c option doesn't work). - In addition, this revamp greatly simplifies the code and should result in increased reliability. - Note that even Windows CopyFile is subject to the 260-character fully qualified path (path+filename) limit; however, at least now, it only fails on the individual files, and is able to salvage the remaining files that do not violate the limit. - Cleaner error logs. Also, the status dialog (during backup) now displays a count of the # of errors encountered so far. - The folder-recursion code is now more robust; as a result, you might notice that more folders are included, especially if you are backing up your root folder and including system & hidden files. v1.07 - 7/05/2008 - No longer shows files in the 'browse for folder' dialog; also, when browsing for a destination dir, you now have a 'new folder' button there. - Now checks to make sure you are an admin. If not, it warns you, at startup and at backup time, that some files might not be copied [those in other user's private folders]. v1.06 - 5/19/2008 - Fixed a bug that was causing some files to report copy errors even though there was no error. - Cranked up the priority a little bit, both of the Copy thread and the Xcopy sub-processes. You can also now tweak the priority during the copy, although, since it's mostly I/O- bound, this doesn't make very much difference. v1.05 - 5/17/2008 - created an installer - 'Add Source Folder' and 'Load Script' buttons now flash, periodically, when the script is empty. - 'Run Backup Now' button is now greyed out when the script is empty. - Tidied up the error window & log when the user cancels a running backup. - Set an icon for the EXE (viewed from file system) and for the main dialog (which also covers ALT+TAB). - beautified documentation & web page - at startup, it now asks if you'd like to auto-load the most recently-accessed script. v1.04 - 5/16/2008 - Fixed tiny bug where it would pester you about an invalid log/script filename even if they weren't being saved. - opened error log using "wT" instead of "w" - should be faster (doesn't flush as often). - opened temp file (written by xcopy) using "rS" instead of "r" - should also be faster (optimized for sequential access). - eliminated 2nd pass through temp output file. (-> faster) - now shows # files copied. - error logs are now easier to read; they now omit the path of the source folder, in the file listings. Also indented filenames by two spaces. v1.03 - 5/16/2008 - Made a real (although brief) webpage for ZB - Fixed 'Go to Homepage' button - Added another column to the main listview, showing the excluded sub-folders under each source folder (if any). - Protected against cyclic copies (where either the source or destination folder is a sub-folder of the other, and recursion is turned on). Also added checks, *before* the script starts running, to make sure the destination log & script files will be able to be written. - Globally increased maximum # of characters allowed in path names. (was 260 - now 520) - Bumped up thread priority when copying. v1.02 - 5/15/2008 - Added 'BAN' folders - for each recursive source folder, you can now list sub-folders that you'd like to block the recursion into. - Fixed a bug where error message could sometimes overflow, causing a crash. v1.01 - 5/14/2008 - Fixed bug with 'Save Script' button. - Fixed bug with log-viewing at the end of a backup, where sometimes, the log would not be properly loaded. v1.0 - 2/3/2008 - Initial release.
Coming Soon [ view ]
- execute script from command line - add Sync mode
Feedback [ view ]
Please send email feedback to "guava" at the domain "geisswerks.com".
(c) 2008 Ryan Geiss