Sounds very interesting, it seems more than capable to keep my e-mail on my laptop and home machine in sync.
It would be good to see it integrated with zeroconf capabilities, so unison would be invoked automatically every time I attach my laptop to my home network.
I use it for a while to keep 4 directories synchronized between my server at work, my laptop and my desktop at home. Two of them are linux and one is windows. One of the directory is 1.5 Gb and synchronizes with no problem.
There is also a graphical version of unison which is very easy to use and can create the configuration files by asking simple questions.
I have not seen any synchronization program that easy and reliable, free or not.
First of all it requires that your ssh client supports very specific switches (read: “must be OpenSSH”). Good luck trying to get it to work with native win32 ssh clients such as putty. (And no, I won’t install cygwin.)
Second, the GTK GUI is bad. It often crashes, and never tells the user why it crashed. I currently have 5 versions of unison on both of my windows computers, and only one of them works and it only works on one of the computers. In all other combinations unison just exits without any kind of error message when trying to connect.
Third, the GTK GUI is really, really bad. E.g. you can’t multiselect a number of files and select “Skip”. So if you have 200 files that you want to skip you have to press the “Skip” button 200 times. (Argh!)
Fourth, the only way to remove/rename/change a profile is by manually editing the files in ~/.unison/
Sorry if i’m mistaken, but why would you want to use unison over ssh? That’s what rsync is for. I use Unison to GREAT effect over window and linux networks to allow me to keep a copy of all my work on my notebook, backup my server and i also use it to sync my work over a VPN when i need too. A fantastic program.
Correction – please ignore my SSH comment, i misread the post.
Secondly, i use the command line switches on windows (i wrote a little batch script to do it all for me) and the GUI on both windows and X without any problems
Unison seems to be OK if you want to run things manually to sync stuff, but in an environment such as balanced Web serving, that’s no use. You either have to use NFS (with its potential single point of failure – the NFS server) or use something which can locally and remotely lock (to avoid a sync coming back the other way from clashing) and also monitor if the filesystem has changed (to spark off a sync).
I couldn’t find anything out there that did this, so I just wrote my own in C. It’s fairly primitive (local and remote .lock files, uses statfs() for speed to see if a partition has changed), but works nicely as a 2-way sync daemon (yes, it has to be a daemon to regularly poll for changes). When I get it working n-way and add ssh syncing support (and maybe some client code to look for sync locking so apps can back off if a sync is in progress), then I might release the source code.
What is the best way to (in realtime) have directories between servers synch?
Meaning, if I have server1 and server2 and both are fileshare of the SAME content (just on different machines and on different harddrives) and if someone modifies files/directories on the fileshare on server2, how do I replicate those changes in realtime to server1?
Lookng for an alternative? Have you considered iFolder? Though it’s currently in a bit of a geeky state (you need to fiddle a bit to get things working), but it’s very promising. See http://www.ifolder.com for more info, and files.
I use UNISON with putty. Doing that just requires an intermediate batch file. I also have a putty “connection profile” saved for each machine, so the ssh connect it automatic.
> Lookng for an alternative? Have you considered iFolder?
> Though it’s currently in a bit of a geeky state (you need to
> fiddle a bit to get things working), but it’s very promising.
I did see it some time ago, but this notice on the download page put me off:
The current stable release does not have Workgroup capability enabled. Sharing with other users or to other machines can only be accomplished using the client with an iFolder server.
I didn’t find any iFolder server to be downloaded, and I’m not going to send my files outside my firewall through someone else’s server.
I did have a look at that, but was put off by the “installs […] the Cygwin package” even though it claims to install only a part of it.
However, I still tried it just now and it actually hides its cygwin crap pretty well (modulo minor annoyances such as that ssh-keygen.exe thinks my home is in /home/marcus” etc.)
Still, it’s the best one I’ve tried so far. Thanks!!!
(When I get home from work I’ll test if unison crashes silently with this ssh client, too.)
Unison is a really great program. I’ve been using it for years to keep 3-4 machines in sync (and backuped). Hasn’t let me down yet.
It could be easier to set up, though. And the gui is horrible. Most of the time I’m just running unison from a script, and almost all of the time Unison does the right thing as default, so the gui is seldom needed.
I did see it some time ago, but this notice on the download page put me off:
The current stable release does not have Workgroup capability enabled. Sharing with other users or to other machines can only be accomplished using the client with an iFolder server.
I didn’t find any iFolder server to be downloaded, and I’m not going to send my files outside my firewall through someone else’s server.
Understandable. However, it appears you can use the SimpleServer component (basically a stripped-down version of the iFolder3 server) to play with iFolder while we wait for workgroup stuff to be re-enabled.
rsync is only doing one way. unison is syncing in both directions. i am using unison for quite a long time. I have any problem with this small usefull software. but all included boxes are running debian, so i cant say anything about unison on microsoft oses.
> > When I get home from work I’ll test if unison crashes
> > silently with this ssh client, too.
>
> It won’t.
It did.
However, it isn’t the official unison.win32-gtkui.exe that crashes, it’s the port contributed by Max Bowsher that suck. The official unison.win32-gtkui.exe, OTOH, opens an annoying black window instead of crashing.
Sounds very interesting, it seems more than capable to keep my e-mail on my laptop and home machine in sync.
It would be good to see it integrated with zeroconf capabilities, so unison would be invoked automatically every time I attach my laptop to my home network.
I use it for a while to keep 4 directories synchronized between my server at work, my laptop and my desktop at home. Two of them are linux and one is windows. One of the directory is 1.5 Gb and synchronizes with no problem.
There is also a graphical version of unison which is very easy to use and can create the configuration files by asking simple questions.
I have not seen any synchronization program that easy and reliable, free or not.
First of all it requires that your ssh client supports very specific switches (read: “must be OpenSSH”). Good luck trying to get it to work with native win32 ssh clients such as putty. (And no, I won’t install cygwin.)
Second, the GTK GUI is bad. It often crashes, and never tells the user why it crashed. I currently have 5 versions of unison on both of my windows computers, and only one of them works and it only works on one of the computers. In all other combinations unison just exits without any kind of error message when trying to connect.
Third, the GTK GUI is really, really bad. E.g. you can’t multiselect a number of files and select “Skip”. So if you have 200 files that you want to skip you have to press the “Skip” button 200 times. (Argh!)
Fourth, the only way to remove/rename/change a profile is by manually editing the files in ~/.unison/
And no, I won’t install cygwin
Well, you don’t _have_ to do anything, not even bashing the damn thing. So why bother ?
Sorry if i’m mistaken, but why would you want to use unison over ssh? That’s what rsync is for. I use Unison to GREAT effect over window and linux networks to allow me to keep a copy of all my work on my notebook, backup my server and i also use it to sync my work over a VPN when i need too. A fantastic program.
Correction – please ignore my SSH comment, i misread the post.
Secondly, i use the command line switches on windows (i wrote a little batch script to do it all for me) and the GUI on both windows and X without any problems
> the GUI on both windows and X without any problems
So you have a GUI where you can select more than one file? Which GUI is that?
Also, which ssh client do you use on win32, and how did you get unison to cooperate with it?
Unison seems to be OK if you want to run things manually to sync stuff, but in an environment such as balanced Web serving, that’s no use. You either have to use NFS (with its potential single point of failure – the NFS server) or use something which can locally and remotely lock (to avoid a sync coming back the other way from clashing) and also monitor if the filesystem has changed (to spark off a sync).
I couldn’t find anything out there that did this, so I just wrote my own in C. It’s fairly primitive (local and remote .lock files, uses statfs() for speed to see if a partition has changed), but works nicely as a 2-way sync daemon (yes, it has to be a daemon to regularly poll for changes). When I get it working n-way and add ssh syncing support (and maybe some client code to look for sync locking so apps can back off if a sync is in progress), then I might release the source code.
What is the best way to (in realtime) have directories between servers synch?
Meaning, if I have server1 and server2 and both are fileshare of the SAME content (just on different machines and on different harddrives) and if someone modifies files/directories on the fileshare on server2, how do I replicate those changes in realtime to server1?
Lookng for an alternative? Have you considered iFolder? Though it’s currently in a bit of a geeky state (you need to fiddle a bit to get things working), but it’s very promising. See http://www.ifolder.com for more info, and files.
Marcus,
Use this with Unison on Windows:
http://sshwindows.sourceforge.net/
Regards,
Edafe
I use UNISON with putty. Doing that just requires an intermediate batch file. I also have a putty “connection profile” saved for each machine, so the ssh connect it automatic.
Command looks like this in MKS shell:
unisync.ksh
———–
# Usage: unisync.ksh putty_profile local_dir remote_unc
# Directories (remote in URL format)
typeset plink_profile=”${1}”
typeset LOCAL=”${2}”
typeset REMOTE=”${3}”
# fool unison into using REAL home directory
typeset USERPROFILE=${HOME}
# Command line
unison -sshcmd plink_unison.cmd -rshargs ${plink_profile} -contactquietly ${LOCAL} ssh://${machine}${REMOTE}
Batch looks like this:
plink_unison.cmd
—————-
@echo off
rem this script runs plink with the proper args from unison
rem %1 = machine name
rem %2 = -e
rem %3 = the word “none”
rem %4 = rshargs = plink profile
rem %5… = command = unison -start
j:\utils\putty\plink.exe %4 %5 %6 %7 %8
Bert Plat wrote:
> Lookng for an alternative? Have you considered iFolder?
> Though it’s currently in a bit of a geeky state (you need to
> fiddle a bit to get things working), but it’s very promising.
I did see it some time ago, but this notice on the download page put me off:
The current stable release does not have Workgroup capability enabled. Sharing with other users or to other machines can only be accomplished using the client with an iFolder server.
I didn’t find any iFolder server to be downloaded, and I’m not going to send my files outside my firewall through someone else’s server.
edafe wrote:
> Use this with Unison on Windows:
> http://sshwindows.sourceforge.net/
I did have a look at that, but was put off by the “installs […] the Cygwin package” even though it claims to install only a part of it.
However, I still tried it just now and it actually hides its cygwin crap pretty well (modulo minor annoyances such as that ssh-keygen.exe thinks my home is in /home/marcus” etc.)
Still, it’s the best one I’ve tried so far. Thanks!!!
(When I get home from work I’ll test if unison crashes silently with this ssh client, too.)
Unison is a really great program. I’ve been using it for years to keep 3-4 machines in sync (and backuped). Hasn’t let me down yet.
It could be easier to set up, though. And the gui is horrible. Most of the time I’m just running unison from a script, and almost all of the time Unison does the right thing as default, so the gui is seldom needed.
I did see it some time ago, but this notice on the download page put me off:
The current stable release does not have Workgroup capability enabled. Sharing with other users or to other machines can only be accomplished using the client with an iFolder server.
I didn’t find any iFolder server to be downloaded, and I’m not going to send my files outside my firewall through someone else’s server.
Understandable. However, it appears you can use the SimpleServer component (basically a stripped-down version of the iFolder3 server) to play with iFolder while we wait for workgroup stuff to be re-enabled.
rsync with a mounted nfs or samba share is easier and more reliable.
Yeah what Eu said
>rsync with a mounted nfs or samba share is easier and more reliable.
Eu wrote:
> rsync with a mounted nfs or samba share is easier and more reliable.
Easier? Including setting up a samba/nfs share? Dream on.
And does rsync really do 2-way sync’ing nowadays??
>So if you have 200 files that you want to skip
Why would you synchronize a directory which contains 200 files you don’t want to synchronize?
What is the problem with openssh for windows? It is a 3 click install with absolutely no problem after.
I admit the ui is not the best, and very not responsive in windows, but in linux it does behave much better and faster.
So what is the difference between Unison and Rsync?
rsync is only doing one way. unison is syncing in both directions. i am using unison for quite a long time. I have any problem with this small usefull software. but all included boxes are running debian, so i cant say anything about unison on microsoft oses.
Anonymous wrote:
> > So if you have 200 files that you want to skip
>
> Why would you synchronize a directory which contains 200
> files you don’t want to synchronize?
Because it also contains files I do want to synchronize. Duh!
> What is the problem with openssh for windows? It is a 3 click
> install with absolutely no problem after.
As I already said, I hadn’t tried it since I was put off by the fact that it installs some cygwin crap. Now I’m using it.
> I admit the ui is not the best, and very not responsive in
> windows, but in linux it does behave much better and faster.
I haven’t seen any difference between the windows GTK UI and the linux GTK UI.
Marcus,
> When I get home from work I’ll test if unison crashes silently with this ssh client, too.
It won’t.
Edafe
edafe wrote:
> > When I get home from work I’ll test if unison crashes
> > silently with this ssh client, too.
>
> It won’t.
It did.
However, it isn’t the official unison.win32-gtkui.exe that crashes, it’s the port contributed by Max Bowsher that suck. The official unison.win32-gtkui.exe, OTOH, opens an annoying black window instead of crashing.
Marcus Sundman wrote:
> it’s the port contributed by Max Bowsher that suck.
Clarification: it’s the port that sucks. 🙂
Marcus,
Try creating a shortcut to the application.
Edit the properties for the shortcut.
Set option for Run to Minimized.
Should launch with two tabs in task bar, but without annoying black window…
Edafe