Cygwin rdiff-backup

Jason Piterak
Mon, 4 Feb 2002 16:54:24 -0500

Hello all,
  On a lark, I thought I would attempt to get rdiff-backup to work under
Windows98 under Cygwin. We have a number of NT/Win2K servers in the field
that I'd love to be backing up via rdiff-backup, and this was the start of
getting that working. 

  o You can get all the pieces for rdiff-backup working under Cygwin.
  o The backup process works up to the point of writing any files with
      ... This is because the ':' character is reserved for Alternate Data
Stream (ADS) file designations under NTFS.

HOW TO GET IT WORKING (to a point, anyway):
  o Install Cygwin
  o Download the Python 2.2 update through the Cygwin installer and install.
  o Download the librsync libraries from the usual place, but before
  o Cygwin does not use/provide glibc. Because of this, you have to repoint
some header files in the Makefile:

   -- Make sure that you have /usr/include/inttypes.h
      redirected to /usr/include/sys/types.h. Do this by:

      create a file /usr/include/inttypes.h with the contents:
      #include <sys/types.h>
  o Put rdiff-backup in your PATH, as you normally would.

WHERE IT FAILS (Writing timestamps):

Here's the traceback you get when rdiff-backup tries to write the .snapshot
Writing file object to jp_misc-bu/test
Touching mirror marker
Traceback (most recent call last):
  File "/usr/local/bin/rdiff-backup", line 3907, in ?
  File "/usr/local/bin/rdiff-backup", line 3675, in Main
  File "/usr/local/bin/rdiff-backup", line 3651, in take_action
    elif self.action == "backup": self.Backup(rps[0], rps[1])
  File "/usr/local/bin/rdiff-backup", line 3704, in Backup
    self.backup_touch_curmirror(rpin, rpout)
  File "/usr/local/bin/rdiff-backup", line 3771, in backup_touch_curmirror
  File "/usr/local/bin/rdiff-backup", line 2101, in touch, "w").close()
IOError: [Errno 2] No such file or directory:

  ... Of course, a touch from commandline yeilds similar results:

Jason piterak@SASHERMOBILE ~/tmp/jp_misc-bu/rdiff-backup-data
$ touch current_mirror.2002-02-04T16-07-30-05:00.snapshot
touch: creating `current_mirror.2002-02-04T16-07-30-05:00.snapshot': No such
e or directory

Jason piterak@SASHERMOBILE ~/tmp/jp_misc-bu/rdiff-backup-data
$ touch current_mirror.2002-02-04T16-07-30-05-00.snapshot

  ... Which makes sense, considering that the ':' character is reserved for
Alternate Data Stream (ADS) file designations under NTFS. (A whole other
interesting topic... check out the archives on
hidden executables).


  Ben, is there any way we can get you to add a commandline switch (or do an
environment lookup), that changes rdiff-backup to use a windoze-compatible
character for the timestamp ':' character?

Take care all,


Jason Piterak
CIS Technical Services
33 Main St., Suite 302
Nashua, NH 03064
(603) 889-4684 - FAX (603) 889-0534