I wrote a while back regarding Rsync backups from Windows servers to Linux using DeltaCopy.
It’s all been working ok but I’ve had some files failing with a “file has vanished’ message.
At first I tried searching for a solution based on the failures being any file with a special accent character.
The log email that I get sent by DeltaCopy contained something like this:
Profile datafiles failed to execute.
sending incremental file list
file has vanished: "/cygdrive/D/datfiles/A standard Windows type file?.jpg"
file has vanished: "/cygdrive/D/datfiles/Another file with two questionmarks ??.docx
Investigating the Windows server the files did exist and they were not “in use” during the backup. However, some (note: not all) some, files had special non-standard English characters in the file names. So characters with umlauts etc, like È, É, Ê were giving issues alongside some punctuation characters that appeared normal but I suspect have been prepared from a non-English keyboard or system with a different character set.
So assuming that the character set was the issue I went searching.
I had narrowed it to the Cygwin toolkit rather than Rsync itself and came across this old message thread that included a link to a modified cygwin1.dll as http://www.okisoft.co.jp/esc/utf8-cygwin/ except that the link was broken. So I chased a modified cygwin1.dll and found what appears to be the updated link at http://www.oki-osk.jp/esc/utf8-cygwin/.
Downloading the compiled library file cygwin1-dll-20-11-18.tar.bz2 and extracting it to my Windows server using 7-Zip I renamed the old dll as cygwin1.dll.orig and copied the modified cygwin1.dll into the DeltaCopy directory.
Then I re-ran a data file backup that had given me “file vanished” errors and it seemed to work. But the next time it ran, it gave errors again.
So I delved deeper and found that the version of Rsync that is distributed with DeltaCopy is quite old, replacing the Rsync toolkit that supports DeltaCopy was the next thing to try and it worked a treat. I will document that process shortly.