0

Recently I've discovered that my backup system it flawed: there are situation where various files/folders are missed.

I do my backup from local disk to a network NAS.
I use Cobian backup, and I have setup the backup software to create one full backup every week, and one differential backup every day.

Now, the backup software (to my knowledge any backup software work this way) decide the files that go in the differential backup by looking at the file archive attribute. If the attribute is set, then the file go in to the backup.
Now, when you move a file to a new location, on Windows systems, the archive attribute get set and the file is included in the backup, and that's fine...
but when you move an entire folder, no archive attribute is set, nor on the folder, nor in any files inside the folder, so the moved folder isn't included in the differential backup!

So, if you have a full backup plus a differential backup, and you moved folders around... then it's impossible to reconstruct the original files/folders structure starting from the full+differential backup, because the backup software didn't include the moved folders in the differential backup.

So my differential backup are useless...

Why does windows set the archive attribute when moving a file, but not when moving a folder?

How can I deal with this issue?
Is there a way to create a differential backup that works as it's supposed to do?

Doing full backup every day is not practical, because the changed data is about 0.1% at day (by using a differential backup I can keep 4 weeks of files history without using too much disk space.)

Max
  • 153
  • 2
  • 7

1 Answers1

1

The archive bit is re-set upon each file system object change. If a directory is being moved within a single NTFS filesystem, neither the directory object itself nor the file objects it contains are being altered. The only objects changing in the process are the source and the destination of the move operations (i.e. the respective parent directories for the moved directory). But then again, Windows does not set the "archive" bit for directories.

This is an old issue and usually addressed in the backup software by comparing file lists with lists from previous backup runs, consulting the NTFS journal or using the objects' creation and modification timestamps in addition to consulting the archive bit. If Cobian is not handling this case properly and the maintainer is not going to fix it, I fear your only remaining option would be to buy the source code and fix it yourself.

If you are able to implement a change in the process of how files are moved, you also could copy & delete the directories in question instead of simply moving them within the same file system - performing the copy operation would set the archive bit on the destination's files.

the-wabbit
  • 40,319
  • 13
  • 105
  • 169