The support forum

Fixing oddball timestamps on files and folders

Sep 08, 2017

The problem


Sometimes you may run into a problem with backing up files that have their "created" or "last-modified" times set to either very distant past or very distant future.

The problem will manifest itself in either "SetFileTime() failed with 87" errors being reported in the log or these file getting recopied on every backup run.

The cause


The cause of the problem is that these timestamps fall outside of the range supported by the file system of the backup device and they simply cannot be recorded.

To compound the problem, in many cases an attempt to set these invalid times will seemingly succeed even though it will silently fail.

Here's a sample of supported ranges for common file systems:

        FAT           1980-01-01  to  2099-12-31
        exFAT       1980-01-01  to  2107-12-31
        NTFS        1601-01-01  to  60056-05-28    (this is not a typo)
        ext3          1901-12-14  to  2038-01-18

So, if you are trying to copy an NTFS file last modified in 1812-09-07 onto a NAS box that runs ext3, the file may end up with its last-modified time set to "now" rather than the date of that glorious battle.

The solution


The solution is to reset these timestamps to more reasonable values.

Since this requires changing _source_ files, this is not something that is a part of Bvckup 2 itself as it never modifies anything at the source.

Option A


There's now a little companion tool called Timestamp Clamper that does just that - it forces timestamps into specified range.

Check it out here - https://bvckup2.com/support/forum/topic/982

Option B


It's also possible to fix up the timetsamps using a bit of PowerShell scripting... which may or may not be your thing, in which case see Option A.

1. Launch PowerShell by pressing Windows-R, typing "powershell" and pressing Enter.  You should see a command prompt window in a lovely shade of blue.

2. Make your way into your source folder. For example, if it's "F:\Source\Fubar", then enter the following, ending each line with Enter:

        F:
        cd \Source\Fubar

3. Next copy-paste the contents of the following file, line by line, ending each line with Enter:

        https://bvckup2.com/support/data/fixup-timestamps.ps1

Doing this will clamp both "created" and "last-modified" dates on all files and folders to ( Jan 02, 1980 - Dec 30, 2099 ) range, and it will also print names of the files that are being fixed up.

If you need the range to be different, patch the lines accordingly before pasting them into the Powershell window.

New topic

Create
Made by Pipemetrics in Switzerland
Support


Follow
Twitter
Dev blog
Miscellanea Press resources
Testimonials
On robocopy
Company
Imprint

Legal Terms
Privacy