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"
It's not very pretty, but what about
cwrsync
? It's just a self-contained package of the Cygwin version ofrsync
, 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: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.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.
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.