dar, which stands for Disk ARchive, is a robust and rich featured archiving and backup software.
It is composed of:
- a library called libdar that exposes both a C++ and a python API,
- a command line program called dar that leverages all the features of libdar.
An increasingly growing set of tools relying on libdar is also available as dedicated/independent projects.
Listing in a few words the features brought by libdar is a difficult exercise, because there is really many ones available (though you will be far to use all of them at the same time). You can however get a abstracted view at the major features.
Before moving to dar/libdar you might consider the Benchmark to see its advantages and drawbacks and how it compares to other software like tar and rsync, for example.
If the Continuous Integration/Continuous Deployment has some advantages it may not fit well when it comes to releasing the software you will have to rely on, upon disaster. For that reason, dar and libdar are released together after a somehow long validation phase:
- For major releases (which third number is a zero like 2.7.0) several weeks testing period takes place, where a testing program runs a systematic features combination on dar/libdar. Then comes a pre-release phase where the software is left available to the faithful users supporting dar, in order to validate the future release behavior in very diverse environments using production data (in parallel of real production system) as well as non-production data.
- Maintenance releases (like 2.7.1, 2.7.2, ...) only receive bug fixes with minimum changes, no new feature is added there. Maintenance release are also validated with the same testing programs, as mentioned above for major releases.
- Last, Interim releases or "Release Candidates" (like 2.7.1.RC1) are temporarily available in the meanwhile for those that can't wait the next maintenance release.
dar and libdar are both portable: they have been tested or reported as working under the following environments:
- Linux (all distros)
- MacOS X
- Raspberry Pi (arm64)
In numbers dar/libdar is or will soon be:
- 20 years of new features in year 2022
- already 11 major releases
- 104 major and maintenance releases
- around 188 documented C++ classes
- more than 4,300,000 characters of C++ source code
- around 95,000 characters for the Python binding