Пакетный скрипт для перемещения файлов из локального каталога в определенную папку FTP - PullRequest
2 голосов
/ 30 июля 2011

В настоящее время у меня есть пакетный скрипт, который выполняет резервное копирование моей базы данных и хранит файл резервной копии в определенном локальном каталоге, например, например, C: \ Backups \ backup-30-07-2011.bak (файлы резервных копий будут созданы с помощьютекущая дата) ..

Теперь мне нужен сценарий BATCH, чтобы переместить ТОЛЬКО файлы резервных копий, созданные на текущую дату, в папку FTP.Следовательно, мой пакетный скрипт должен: (1) подключиться к ftp-сайту с его именем пользователя и паролем (2) переместить файл с текущей датой в указанное место ftp .. может кто-нибудь помочь мне с этим пакетным скриптом.

Спасибо ..

1 Ответ

1 голос
/ 31 июля 2011

Больше информации о ftp здесь: http://www.nsftools.com/tips/MSFTP.htm Пример пакетного сценария, который делает копию резервной копии:

@echo off
    :: Set filename and path
    :: %date:.=-% mean replace dots '.' to '-' in the variable's value  (31.07.2011)
    :: More info: set /?
    set "fileName=backup-%date:.=-%.bak"
    :: There mustn't be slash in end. "C:\Backups\" is wrong, "C:\Backups" is right
    set "filePath=C:\Backups"
    set "ftpFilePath=somepath"

    :: there must be ftp's IP & port
    set "ftpIP=127.0.0.1"
    set "ftpPort=21"

    :: replace with your own username & password
    set "username=username"
    set "password=password"

    :: Write commands in file
    :: Open server
    echo o %ftpIP% %ftpPort%>ftpcmds
    :: Say your name & password. If you have no password - just do not change   these lines
    echo %username%>>ftpcmds
    echo %password%>>ftpcmds
    :: We send binary data, yep?
    echo binary>>ftpcmds
    :: Change ftp path
    echo cd %ftpFilePath%>>ftpcmds
    :: Change local path
    echo lcd "%filePath%">>ftpcmds
    :: Yeah, we can send file
    echo send %fileName%>>ftpcmds
    :: Bye = disconnect + quit
    echo bye>>ftpcmds

    :: Run ftp-client. More info: ftp --help
    :: Delete '>nul' if you want see output of ftp
    ftp -s:ftpcmds>nul
exit /b

Если вы хотите, вы можете добавить команду для удаления исходного файла (поместите его перед «exit / b»):

del /s/q %filePath%\%fileName%>nul
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...