Rsync on Windows

I am trying to figure out how to run rsync between a Linux server and a Windows desktop. The Linux server is an Amazon EC2 server.

Can anyone guide me or help me with the programming?

Allen AshkenaziAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

There is no rsync for Windows as rsync builds on top of ssh protocol stack.

Can you use pscp instead?
Kent WSr. Network / Systems AdminCommented:
The only way you can use rsync is if you make a share on Windows (SMB or NFS), and mount it from your linux machine.
Then, linux can see the files system, and you can rsync to your hearts content.

But, as Mazdajai said, the closest thing to rsync for Windows is robocopy.
Gerwin Jansen, EE MVETopic Advisor Commented:
There is a Windows port rsync available on (not tested by me) - personally I'd just use WinSCP to get a copy of your Linux server (the folders you need) to your Windows machine. Or even easier: install a Linux guest in VMware player and use native rsync in the virtual to get your files.
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

Install cwrsync and you can rsync from Windows.

You can also install cygwin on windows and have rsynce and the full linux experience on your windows system.
Allen AshkenaziAuthor Commented:
This is above my capability.

I have a MobileVue project that I am looking for a developer to do since I am not technical enough
Kent WSr. Network / Systems AdminCommented:
Where is your Windows box in relation to the Linux EC2 instance?
Allen AshkenaziAuthor Commented:
Internet. I have several Windows Desktops that need this service.
Kent WSr. Network / Systems AdminCommented:
It may help to explain what you are trying to do.  Sync what type of files from which OS to which OS?

Being non-technical, the only way you are going to get rsync to do this job is to mount your windows FROM your Linux ECT other words, it will have to run over Samba (SMB, or as you probably know it "Shared folders" via Windows file sharing).  Alternately, you can mount the Linux box from your Windows, and use robocopy or any of the other windows tools mentioned previously.
But, there are quite a few ways to accomplish this.  Which makes sense depends on the direction and schedule, if any.

To guide you, I would need to know which direction you are syncing files.  Copying from Win to Linux, or Linux to win?
Does it have to be an automated process, or do you just need the ability to drop some files when you want?
It will probably be easiest if you use winSCP.  It's a GUI interface that uses SSH.  You just have to enter your ssh password and you can drag and drop the files.

If you care about keeping the date and time better synchronized and not having to copy all the file if they haven't changed, then use DeltaCopy (a windows rsync GUI)

Everything else is more involved.

The next simplest is probably to install putty, or just unzip the putty package and do the pscp command line.  cwrsync would be about the same too.  You don't have to configure anything, but you'll need to understand command line syntax.

To copy from the remote system to your local system.
C:\PATH_TO_PUTTY\pscp.exe -pr EC2_account@EC2_server:PATH_TO_FILES  C:\PATH
C:\PATH_TO_PUTTY\pscp.exe -pr EC2_account@EC2_server:PATH_TO_FILES  D:\PATH

You can also go the other way.
C:\PATH_TO_PUTTY\pscp.exe -pr D:\PATH  EC2_account@EC2_server:PATH_TO_FILES  

Setting up SAMBA requires that you install it on your EC2 Linux system and configuring it.  Then you need to mount it from your Windows box.  That's a bit more involved.
Allen AshkenaziAuthor Commented:
serialband, I think your original approach is probably the best approach.

I have a server -- Linux or could be Windows,-- that I have full control of. The server has a website with several 1000 static pages -- that gets updated monthly.  Users running Windows desktops connect to the server via the internet and get their updated copy of the website on their Windows desktops updated by clicking on the update button in an application. Given that rsync works on a delta basis -- difference between file and file 2 applied to file 2 -- it is probably the fastest.

My deliverable to the customer is an exe that installs on each user's Windows desktop.

Does this all make sense to you? If not, we should talk.
If they have ssh access, they should already have access to their account home directories.  They should be able to use WinSCP or DeltaCopy to connect and then Drag and drop items.  When they log in, they should be set to view their home directories.  You don't need any special installs.  The default WinSCP or Delta Copy should work for them without modification.  They only need to know how to enter their username and password or passphrase.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.