Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have our websites hosted at a thrid party webserver. I have all the admin access needed. I have a local Win2K3 machine that's using retrospect to backup all the networked machines and server, navicat to backup the mysql dbs locally and on the remote linux webserver.

So the only part that remains is incremental backups of the files on the webserver. Anyone have any suggestions on how to do this?

Important to note:

  • Backups must be automated
  • Windows server cannot be exposed to the outside world as it contains all the company data. It can however contact the outside world and request data.
  • This is a shared server, so installing a new rsync client (like Unison) will not work

UPDATE: Trying DeltaCopy Client on the windows machine gets the error message "Connection Refused". Even with ssh enabled and user/pass entered into the authentication tab. So my guess is my host is not allowing me to use rSync. (Still investigating this). Confirmed, my host says "You can only use FTP, no rSync"

share|improve this question

3 Answers 3

It's not very pretty, but what about cwrsync? It's just a self-contained package of the Cygwin version of rsync, containing only the bare minimum DLLs. From memory, everything lives in one directory, so it shouldn't conflict with anything else on the Windows server. You would then run it in client mode as a scheduled task.

EDIT:

Given that your hosting provider has told you that FTP is your only option, the best I can think of in my Linux-oriented mind would be to use wget. It can mirror FTP sites. There are Windows binaries available for older (1.11.x) versions that should meet your needs. You could then do something like this in a batch file:

wget --mirror --ftp-user=you --ftp-password=pass -P c:/dir ftp://your.host/path/ 

The --mirror option will try to be smart about not downloading files that haven't changed. By default, it will place files in a directory named for the FTP server, and will include the complete (FTP) path to files. You can control this with the --no-host-directories and --cut-dirs options.

share|improve this answer
    
This seems to have work on a quick Test. -o creates a log file, so that works fine. I can imagine combing through the log will be a pain! But oh well. I'll test this out tonight and post back the results. Thanks for all the help! –  shaiss Apr 30 '10 at 15:07
    
Glad it's working out for you. Good luck! –  James Sneeringer Apr 30 '10 at 17:58

I'd say something like DeltaCopy is what you want, runs as a service, has support for Rsync ( this gets from you're windows server to the linux box ), and does rsync style differentials in the core so you're only going to be moving the data you need and not everything every day.

That is unless you want to go with a paid for solution, then something like SecondCopy - http://www.centered.com/ - which also runs as a service, and has support for FTP.

share|improve this answer
    
my understanding from DeltaCopy is that you have to run the deltacopy client to push the updates out. Maybe I'm wrong? –  shaiss Apr 28 '10 at 18:27
    
Nope. DeltaCopy has a "Server" app like rsyncd, and a "Client" app like rsync. And I've had success getting it to talk with rsync/d in the past. Most common problem, protocol mismatches because of old versions of rsyncd. If you're on a fairly recent Linux machine, shouldn't be an issue. –  Ali Chehab Apr 28 '10 at 18:35
    
SecondCop's great! BUT, it doesn't support sets greater then 2GB as per the dev. And after that, I can't even get it to backup a 1.4GB folder. I'm going back and forth with the dev to figure out why. –  shaiss Apr 30 '10 at 14:33

At the moment I'm using wget via FTP, until such time as the host enables rsync. Once rsync is available to me I'll switch over to that, already having cwrsync server running on the Windows server. The latter works very well with our internal Linux machines.

The current wget solution creates a log file. One the sync is complete the log is parsed to look for differences between this and the previous sync, ignoring some stuff that will always have changes. This way I get an email letting me know if any files have been modified, added or deleted. When we switch to rsync I'll look at doing the same with its logs.

share|improve this answer
    
Run rsync with the "-av" flags, this will run it in archive mode and list any files it finds which have been modified. You can pipe this straight into an e-mail, or do what ever you need with it... –  Ali Chehab Apr 30 '10 at 14:54
    
@Ali, thanks for the suggestion but that would then require two runs. One to detect the changes and another to sync. When dealing with a large number of files that can take a significant amount of time. –  John Gardeniers Apr 30 '10 at 21:47

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.