Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I am forcing myself to switch to Ubuntu 8.04 Linux as my primary OS (still have to run XP in VirtualBox for a few things) but I think I have pretty much everything set up the way I need it except for my file sync. I have a Buffalo LinkStation Pro NAS that I use as a file server. All of my computers sync their documents to this NAS, so I need 2-way sync - in other words, if I change a file on the NAS, I want the sync software to recognize this and download it to my computer and if I change a file on my Ubuntu system, I want the sync software to recognize it and upload it to the NAS.
In Windows, I use Vice Versa Pro, which works flawlessly. I have thought about setting up a network bridge in VirtualBox and just using Vice Versa, but I think I would rather do this directly from Linux. I was looking into Unison, but I can't figure out how to do the sync without 1) the NAS running Unison on it too (which it can't do) and 2) without mapping the network folder as a drive. Since this is a Laptop and the NAS isn't always available, I would rather not map it.
I have 4 options in Unison - local, ssh, rsh and socket. The NAS has a network name and a fixed IP, so I can get to it either of those ways, but I'm not sure how to set it up because the parameters for ssh, rsh, and socket are a combination of host, user, and port... I have a username and password to get into the folder, but have no idea about host or port.
Can someone help me set this up or recommend another software that will do the job - or should I just continue to do it from XP?
Also, I looked into rsync, but I'd rather have something with a GUI and if I understand it correctly, it just looks like it copies the file without looking for changes. This folder has about 7 gb of data, so I don't want to copy everything every day.
As I read what you wrote from title down I thought "rsync". Then I read your last line and realized you'd ruled it out partly because you misunderstand how it works.
rsync does not copy the entire 7 GB every time. It copies only the changes (unless you tell it otherwise). It has many options. You can tell it to copy all files from the NAS to the local OR vice-versa OR both. You can tell it to delete things from the target that are no longer on the source. You can tell it to use ssh for the transport. You can tell it compress the files that are being transferred. You can tell it to preserve ownerships and permissions etc...
Also for most open source tools someone somewhere is likely to have developed a GUI front end for it. Often enough it will simply have the same name with a "g" prepended to it. So sure enough on doing a Google search for "grsync" I found the following page: http://www.opbyte.it/grsync/
I haven't used grsync but it looks like it would fit your requirement.
By the way - you might want to explore "cron" usage. You could set a job that runs rsync automatically at a set interval (e.g. every hour) so you don't have to run it manually. Obviously it would depend on how often you expect files to update.
Linux has manual (and often info) pages for most utilities for most tools. You can type "man <command>" or "info <command>" to get more details of what they do and what flags and arguments they allow and/or require:
Finally if the man page for a given tool isn't on your system you can generally find it by typing "man <command>" in a Google search.