Отправку на FTP осуществляет программа WinSCP, позволяющая скриптовать необходимые действия (документация).
Для начала необходимо скачать WinSCP версию portable.
Создаем bat-файл FTPcopy.bat:
set YYYY=%date:~6,4%
set MM=%date:~3,2%
set DD=%date:~0,2%
set HH=%time:~0,2%
set min=%time:~3,2%
set ss=%time:~6,2%
set d=D:\FTPlogs
mkdir %d%\%YYYY%
mkdir %d%\%YYYY%\%MM%
set DAT=%DD%-%MM%-%YYYY%-%HH%-%min%-%ss%.log
::Удаляем пробелы из переменной
set DAT=%DAT: =%
set f=%d%\%YYYY%\%MM%\%DAT%
::Создаем пустой файл лога заранее, иначе детального логирования не будет
copy nul %f%
for /R "D:\Bases" %%x in (*.bak) do (
C:\utils\WinSCP\winscp.com /loglevel=2 /log=%f% /command "open ftp://user:password@ipaddress" "put %%x /" "exit")
Этот файл рекурсивно ищет в дереве каталога "D:\Bases" bak-файлы, подключается к FTP, копирует, отключается.
Создаем bat-файл FTPbackup.bat:
set YYYY=%date:~6,4%
set MM=%date:~3,2%
set DD=%date:~0,2%
set HH=%time:~0,2%
set min=%time:~3,2%
set ss=%time:~6,2%
set d=D:\FTPlogs
mkdir %d%\%YYYY%
mkdir %d%\%YYYY%\%MM%
set DAT=sum-%DD%-%MM%-%YYYY%-%HH%-%min%-%ss%.txt
::Удаляем пробелы из переменной
set DAT=%DAT: =%
set f=%d%\%YYYY%\%MM%\%DAT%
C:\bat\FTPcopy.bat>%f%
Этот файл запускает FTPcopy.bat с укрупненным логированием результатов в D:\FTPlogs\Год\Месяц\День-Месяц-Год-Час-Минута-Секунда.txt
Файл FTPbackup.bat добавляем в планировщик заданий Windows.
Комментариев нет:
Отправить комментарий