5

Is it possible to create a scheduled task in windows, that connects to an FTP site, and downloads all the files and folders within the root directory (or specified folders in the root directory) - for example \httdocs and \subdomains to a local directory?

I figure it must be possible, however i can't quite think of the syntax....

This is to backup my website, to the local drive - i edit and upload content to it (it's wordpress) from various sources.

alex
  • 493
  • @alex: as per your comment for @djhowell: click RUN > cmd ... type in ftp ... see what happens ... if you get ftp> prompt - your script should work just fine ... if not - you don't have c:\windows\server32 n your path – roman m Nov 13 '09 at 09:03

2 Answers2

5

Yes, it's possible using scripting mode (ftp -s). Put something like this in a .BAT file:

ftp -s:MyFTP.txt

And then create a MyFTP.txt file in the same path that contains something like this:

open ftp.example.com
myusername
mypassword
lcd C:\Backup
mget *
quit

Or specify multiple directories like

mget httdocs\*
mget subdomains\*
djhowell
  • 3,761
  • i tried this, when i execute the bat file, it just prints ftp -s:MyFTP.txt over and over..... it doesn't seem to try and connect.... – alex Oct 08 '09 at 21:17
  • Don't call your batch file "ftp.bat", because windows doesn't know whether to call ftp.bat or ftp.exe. Name your batch file something like "ftpfiles.bat". thread necro FTW! –  Apr 29 '11 at 21:35
1

See my question for the correct script; thanks @djhowell - your script got me started:

Here's the working script:

open ftp.yoursite.com
ftpUsername
ftpPassword
lcd C:\Temp\OrWhatever
cd /DirectoryOnFtpServer
prompt
mget *.*
quit

lcd - change LOCAL directory
cd - change REMOTE directory
mget *.* - get all files in directory

roman m
  • 1,079