Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm trying to get my Continuous Integration system working from start to finish in the dev environment.

Unfortunately, the last step after publish is copying the folder to an offsite server which I can only access via ftp.

I'd like to have a service running that watches a local folder, and if it changes, updates the ftp server with those changes.

I can't seem to find something to accomplish this in windows.

share|improve this question
    
Meanwhile, see also "SFTP as a folder on Vista" at superuser.com/questions/55860/sftp-as-a-folder-on-vista –  Arjan Oct 31 '09 at 13:05

3 Answers 3

up vote 8 down vote accepted

There is free open source winscp, which has all kinds of features for this. The command you are looking for is in the "commands" menu, "keep remote directory up to date". There is scripting support available as well.

share|improve this answer
    
Just the solution I was looking for. Thanks –  yxk Feb 3 '10 at 0:10

Try the freeware version of SyncBack. It doesn't do realtime folder monitoring, but you can schedule it to sync at specified intervals. Set it to something low like 1 minute.

share|improve this answer
    
I'd prefer realtime monitoring if I can find it. I could write it I suppose, I just have better things to do. –  CaffGeek Sep 30 '09 at 2:40
1  
I've been looking for a project to get back into programming for a while. This sounds like a good fit. I've played with INotify and JNotify over the weekend and it's fairly trivial. You'll see some syncing software from me in the next few weeks :) –  John T Oct 22 '09 at 20:09

Free and open source solution based on git:

Use git-ftp for synchronization. After installation and setting up a local git repository you can do:

  • git ftp init -u < user> -P f​tp://host.example.com/public_html #for pushing the first time
  • git ftp push --user < user> --passwd < password> f​tp://host.example.com/public_html

Now you just need to watch for filesystem changes, add them to your local git repository and push your repository using the above command.

Advantages:

  • git-ftp works on windows and linux (tested with mysys git on windows)
  • integrates nicely into your development setup if you're already using git
  • very easy to setup and use (if you're familiar with git)
  • incremental changes -> saves a lot of bandwidth

Disadvantages:

  • you need to find a solution to watch for filesystem changes (shouldn't be too hard to do, e.g. nodejs has solutions for this)

Here's an example for a batch file i'm using on windows:

@echo off
git init .
git add . --all
git commit -am "auto commit"
set /p pwd= Please enter ftp password: 
git ftp push --user myftpuser --passwd %pwd% ftp://myftphost.com/myfolder

Note that this is an interactive example, but you could make it noninteractive by storing the password in the batch file.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.