
The idea of writing this article and creating a program in particular was the
Oleg_Sh story about how he created a backup tool from improvised tools that uses hardlinks as a replacement for duplicate files. This idea turned out to be so simple and ingenious, and it always lay on the surface that it was decided that it was necessary to fasten such a thing to yourself. Moreover, I needed very similar functionality and from time to time I was looking for something very simple to replace paid or bulky combines, which, moreover, did not do exactly what was required for my tasks.
And it didn't take much — first, at any given time, to copy any files, including working databases, so as not to force people to quit the programs even for the night, and copy quickly; secondly, to be able to very quickly restore data from a backup (storing data “as is” is ideal), in the third store as many backup copies as possible, and not only how, but with the full data structure. All these tasks are best accomplished using shadow copying and the use of hardlinks. But the implementation on a heap of batch files and using a ported version of rsync (which also required a bunch of cygwin libraries and
had problems with non-standard characters), I didn’t like at all. I began to look for alternatives, but I could not find exactly what would be perfect for me. Therefore, it was decided - it is necessary to make it easier and better, and not only for oneself, but also for colleagues.
Features and Recommendations
This is how the first version of LightBackup appeared, which already performs the tasks assigned to it. The possibilities are the following:
')
- The program works with any Windows OS from WinXP and above, all bit depths.
- Supports shadow copy of the volume to read locked files.
- For files that have not changed since the last copy, hard links are created.
- File system paths of any length and any encoding are supported.
- Full Unicode support, two interface languages (Russian and English).
- Creating a general log of the program and logs for each copy.
- Support for silent mode and automatic deletion of old copies.
- Does not require any third-party libraries for their work.
A shadow copy is always created before copying, it allows you to save any data, even open for exclusive access, for example, databases or the entire partition with the operating system. When you first start the data is copied as is, with the following - the dates of the files in the source and the last backup are compared, and instead of copying the unchanged files, hard links will be created on them - this will greatly speed up the creation of the backup and save space. You can set the number of stored copies, the old ones will be automatically deleted. The number of copies must be at least 2 and not more than 1024, and the data partition must have the NTFS file system. Copying is desirable to do on a physically different medium, otherwise if the source fails, the backup will not make sense. Thus, in spite of the incremental copying of data, thanks to hard links, you will see the complete data structure in any backup. At the same time, it is not desirable to change the data in the backup copy, otherwise the changes will be transferred by hard links to other copies. Archiving is not done intentionally, it allows you to access data in the backup instantly and from any system. Shadowing does not cancel access rights, so the user under whom the program is running must have read access to the copied information.
configuration file
[Main] Silent = 0 # [Config1] # ConfigX, X - Snapshots = 3 # Source = C:\Windows\System32\Config # Backup = D:\Backup\Config #
The following sections are written in the same format, only the profile number increases in ascending order, for example, Config2, Config3, etc. The Backup parameter must point to different directories everywhere, folders are created by date and time. An example configuration is created when you first start the program. So in the first example, a backup copy of the registry is created, and the second example copies the databases from C: \ Bases to D: \ Backup \ Bases and stores all copies in half a year if the scheduler starts once a day:
[Config2] Snapshots = 180 Source = C:\Bases Backup = D:\Backup\Bases
If you want to temporarily disable a profile without deleting it, simply rename the section so that it does not match the ConfigX template. But the order of naming sections should remain, since without seeing, for example, the second profile, the program will not perform the third one.
Licensing
The program is completely free for personal use on non-server operating systems. For commercial use on a server OS, a small cost may be introduced, but until the new year, keys will be given out to everyone for free (the HWID from the configuration needs to be sent to support@lightbackup.com). However, the difference between the registered version and the usual one is only in one message after copying. In other words, there are no functional limitations even without registration and the decision to purchase can be made after any period of using the program or when the reservation needs to be configured for silent automatic execution in the scheduler.
Here I ask you to understand me correctly, because who knows how much I try to do for all over the years completely free of charge, when donations do not even pay for the Internet, he will understand me.Note for organizations - my root certificate is included in the chain of certificates that signed the executable file. If necessary, you can add it to your certification authority for a trusted launch of the program.
Download LightBackup 1.0
at this link . I hope it will be useful to you.
UPD: If you want to support the development, you can use the donation details from another project, the site of which is listed in my profile.