VBScript-Tool for better Backup Automation using FreeFileSync

Discuss new features and functions
Posts: 4
Joined: 25 Jul 2015

cweber50

I use FreeFileSync - which is a very powerful, fast and feature-rich utility - for Backup on my Windows clients intensively, but I believe some important features regarding Automation of Backups are still missing. These are:

* avoid a start of FreeFileSync if the most recent start (of the same batch) is less than xxx minutes ago
(this may possibly happen if the PC is switched off via hibernation for many days, and the Scheduler
then starts the job several times at the next startup)
* allow for backup volumes to be offline at backup time (e.g. to save electric power): in this case
- prompt the user to switch drive(s) on if any one is offline
- prompt the user to switch those newly switched drive(s) off again after termination of the job
- quiesce the drive(s) to be switched off before the prompt,
to allow plain physical off-switching instead of the lengthy "hardware safe removal" dialog
- possibly avoid any dialog (and the FreeFileSync run in general) altogether
if there exist no files at all in need to be saved
* delete old (and saved) versions of files automatically after a certain period (e.g. 200 days)
- FreeFileSync provides excellent features to save updated versions or deleted files before removal,
but does not have any automatic cleanup of such saves
* allow the current state (in full, so the file set is consistent) to be saved cheaply via a folder of NTFS hardlinks
- a whole & consistent state-in-time can be saved by creating a folder of hardlinks to the main data
(only on NTFS save volumes!)
- this needs no extra space apart from catalog entries, which cost ~1 kB each
- the "main" data pointed to by the hardlinks will not be deleted by FreeFileSync cleanup operations
as the hardlinks "protect" these against deletion
* show a MsgBox at the end with some overall statistics
- in batch mode FreeFileSync is totally quiet, but the user might want to be reassured regularly
and know what has been done at summary level

All these features can be implemented completely decoupled from FreeFileSync (i.e. can be implemented with a VBS script which wraps FreeFileSync).
I wrote this script and attach it to allow anybody with the same problems to use it as well: download from
https://cloud.web.de/ngcloud/external?locale=de&guestToken=Hkyt6uHTRKSY2zE6LB9CbQ&loginName=Dr_Christian_Weber

Zenju: could you add this tool to the FreeFileSync project?
Or do you rather want to implement some / all of these features in FreeFileSync itself (which would of course have many advantages)?

CW
User avatar
Site Admin
Posts: 7211
Joined: 9 Dec 2007

Zenju

> implement some / all of these features in FreeFileSync

Definitively this would be the best solution!

> allow for backup volumes to be offline at backup time

Not sure what this is about: If a hard disk is not used it powers down automatically after some time. If FreeFileSync needs it for sync it will power up on its own. So this scenario should work already.

> delete old (and saved) versions of files automatically after a certain period

Definitively a todo for FFS: I remember an in-dept discussion somewhere on this forum, but this was before the introduction of "naming conventions" for versioning. We need a solution that solves most of the existing practical requirements (what are these in particular?) but also nicely integrates in FFS's current versioning design.

> NTFS hardlinks

This seems to be too special-purpose both with regards to technical applicability (only for NTFS, no cross-platform use) and real-world requirements for FFS and is best kept as an addon, e.g. vbs script as it is now.

> show a MsgBox at the end with some overall statistics

This is already the default behavior for ffs_batch jobs.
Posts: 4
Joined: 25 Jul 2015

cweber50

See my comments below:

Am 19.09.2015 um 19:12 schrieb Zenju:

> allow for backup volumes to be offline at backup time
>
> Not sure what this is about: If a hard disk is not used it powers down automatically after some time. If FreeFileSync needs it for sync it will power up on its own. So this scenario should work already.

>>>
I have two fairly new USB harddisks (2 TB each) for RAID-1 like safety - I save everything twice.
I measured the power consumption when in use: they consume about 12 Watt together.
After a major perod of disuse the consumption is reduced to 5W for standby.
If you never switch off the PC (which is of course somwhat unrealistic), this still costs up to 365 days x 24 hours x 5 Watt => 11 € for electricity per year.
Maybe the power consumption is smaller with disks powered by USB - but there may be also more consuming disks than mine.
Anyway - saving power is a trend of our time - so I decided to rather switch on/off explicitly via some switchable socket, and possibly others think similarly.

>
> delete old (and saved) versions of files automatically after a certain period
>
> Definitively a todo for FFS: I remember an in-dept discussion somewhere on this forum, but this was before the introduction of "naming conventions" for versioning. We need a solution that solves most of the existing practical requirements (what are these in particular?) but also nicely integrates in FFS's current versioning design.
>>>
I know a friend that deletes *never* old versions; I delete after 200 days (somewhat arbitrary, but it should be some setting in the configuration anyway.)

> NTFS hardlinks
>
> This seems to be too special-purpose both with regards to technical applicability (only for NTFS, no cross-platform use) and real-world requirements for FFS and is best kept as an addon, e.g. vbs script as it is now.

>>
I agree this should (and can) be a separate tool.
Are you willing to offer some possibility to place such scripts in a "Tools" folder in the context of FFS?

> show a MsgBox at the end with some overall statistics
>
> This is already the default behavior for ffs_batch jobs.

>>
The problem is that the FFS window by default shows too much information during the whole process (which takes 2 minutes) - it dominates the screen during backup, so I switched that behaviour off
(the backup is an automated task started daily via Scheduler at a fixed time, so it should not disrupt normal work too much and rather run in the background most of the time).
It would be best to show just one short information corresponding to the summary line in the logfile (# files / # bytes), and exactly at the end when the drive(s) can be switched off again, which would probably be only a small enhancement of FFS.