safecat is a tool that implements Dan Bernstein's maildir algorithm, copying standard input safely to a specified directory. With safecat, the user is offered two assurances. First, if safecat returns successfully, then all data is guaranteed to be saved in the destination directory. Second, if a file exists in the destination directory, placed there by safecat, then the file is guaranteed to be complete.
To use safecat, you specify a destination directory, but not a file name. Safecat picks the filename uniquely every time. That way many safecat processes (and other programs) can write to the directory simultaneously. If you want a particular filename, then you just rename the file after safecat completes. In general you should use a single, separate process to do things like renaming, collecting, and deleting files. You can run the process as a daemon, in cron jobs, or from a mail reader.
tar xvzf safecat-VERSION.tar.gz
make setup check
What's New in This Release:
· Only minor changes in this version: principally updated RPM support courtesy of Vadim Druzhin and Charlie Brady.
· Note that safecat is known, at least on some platforms, to truncate files longer than 2GB. I have added conditional code to support large files, at least on Linux, but I still consider it a bit crazy to use this for such large files--that really isn't its function! I'm sure you're really looking for rsync, aren't you?