On Fri, Mar 18, 2011 at 5:28 PM, Randy Syring <rsyr...@inteli-com.com> wrote: > I'm working on a backup solution using the ZFS file system. The idea is > somewhat like rdiff-backup, except that the backup tool doesn't need to > worry about versioning, compressiong, or deduplicating the files. ZFS will > handle compression and deduplication. rsnapshot will handle versioning. > > The issue I am running into is that I am not sure how to copy files from > windows to the Linux and preserve ACLs. I am thinking about building a > client for windows machines in python that would be responsible for copying > the files to the backup server's "staging" area. It would need to A) use an > rsync like protocal so only deltas get sent over the network B) use VSS for > hot-backups and C) preserve ACL info on the backed up files. I have good > leads on A & B, but not sure about C, hence this email. > > Obviously, it would be ideal if something like this already existed, but I > am not aware of anything. rdiff-backup is close, but I just don't need all > the extra versioning stuff it does.
I would suggest looking at Samba. This would help you solve two problems. 1. Transporting files to the Linux server. 2. The ACL issue, you can use extended ACL support, which, when integrated with a Windows domain, can map UID/GID to objects in the domain. Winbind allows this by mapping Windows objects to UID/GID on the Linux machine through the magic of nsswitch. Extended acls are then managed Linux-side using setfacl and getfacl. I have set this up using the ext3 file system, so I am not sure about ZFS support. I know that samba supports extended ACLs on Solaris ZFS, but could not find a definitive answer either way when using ZFS on Linux. Worth a look though. Another possiblity is to look for an archive format that supports the meta data you want. For example on Linux tar contains all the modes and other file meta data needed to restore the files. If there is not an existing similar archive format you can use on Windows, then you can "extend" one by appending a .catalog file that contains the pickled file meta data. Then a simple python module can create the .catalog file and then create the archive using the regular tool appending the .catalog to it. Restoring would be equally simple by extracting the files and then restoring the meta data (and deleting the .catalog file). _______________________________________________ python-win32 mailing list python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32