Скрипт. Заливка файлов на FTP

Posted by map[name:devi1 uri:https://www.blogger.com/profile/05777499482649623616] on Monday, August 15, 2011

Этот скрипт был написан для предотвращения нежелательных последствий от BSOD. Скрипт просматривает папку с дампами BSOD. Если дампы есть (синий экран был), то создаёт на FTP-сервере папку с датой создания дампа в качестве имени, а внутри неё папку с именем сбойной машины. И уже в эту папку копирует дампы. Затем переименовывает дампы в *.dmp.old, чтобы на следующий день их не копировать. Если скрипт запущен впервые, он копирует дампы как положено (каждый на свою дату).Краткое описание скрипта:Секция check. Проверяет, есть ли уже дампы. Если нет, скрипт заканчивает свою работу. Если да - переходит на следующую секцию.Секция makeftpcommand. Создаёт файл с именем script, в который пишет команды для работы с FTP.Секция makedirectory. Анализирует папку с дампами и записывает в script команду для создания папки на FTP-сервере с именем вида дата/имя_машины.Секция copyfiles. Заливает дамп в нужную папку.Секция rename. Переименовывает дамп в .dmp.old, чтобы при следующем запуске не копировать уже скопированные файлы.Оставшиеся строки закрывают файл script, выполняют его и удаляют.@echo on@echo =======================================@echo Copying memory dumps on FTP-server@echo =======================================@echo Script startedset $SRC="%systemroot%\minidump":check@echo Checking files@if exist $SRC*.dmp goto makeftpcommand:makeftpcommandset addr=scriptecho.open 127.0.0.1>> %ADDR%echo.anonymous>> %ADDR%echo.>> %ADDR%echo.binary>> %ADDR%:makedirectory@echo Making directoriesfor %%a in (%$SRC%) do (for /f “tokens=1” %%b in ("%%~ta") do (echo.mkdir %%~b%computername%>>%ADDR%)):copyfiles@echo Copying filesfor %%a in (%$SRC%) do (for /f “tokens=1” %%b in ("%%~ta") do (echo.cd %%~b%computername%>>%ADDR% && echo.send %%a >>%ADDR% && echo.cd ../..>>%ADDR%)):renamefor /f “tokens=1” %%a in (‘dir /b %$SRC%*.’) do ren %$SRC%%%a %%a.oldecho.bye>> %ADDR%ftp.exe -s:%ADDR% del /F /Q script


comments powered by Disqus