bat-файл для копирования с FTP *.cfu и обновления 1С

Администрирование - Сервисные утилиты

Батник для загрузки с FTP файла обновления 1С (*.cfu), создания резервной копии и обновления 1С.

Пример батника для загрузки с FTP файла обновления 1С (*.cfu), создания резервной копии и обновления 1С.

Использование: каждый может по-своему применить его. У меня запускается задание Windows с запуском этого батника. 

Моя конфигурация самописная на поддержке. Но не думаю, что типовые чем-то отличаются, ибо обновления одинаковые. 

Для работоспособности используется cURL.

cURL — свободная (распространяемая по лицензии MIT), кроссплатформенная служебная программа командной строки для копирования файлов по различным протоколам с синтаксисом URL, автором которой является Daniel Stenberg. Программа cURL может автоматизировать передачу файлов или последовательность таких операций. Например, это хорошее средство для моделирования действий пользователя в веб-обозревателе.

Программа поддерживает протоколы: FTP, FTPS, HTTP, HTTPS, TFTP, SCP, SFTP, Telnet, DICT, File: , LDAP а также POP3, IMAP и SMTP. Также cURL поддерживает сертификаты HTTPS, методы HTTP POST, HTTP PUT, загрузку на FTP, загрузку через формы HTTP.

Полный код батника: 

rem установиим переменные с адресом FTP, логином и паролем

rem ********Адрес FTP***********
set URLFTP=192.168.1.1

rem ********Логин и пароль FTP***********
set loginpassFTP=ftp_user:ftp_passwod

rem ********Папка на FTP для текущего отделения***********
set FTPLocation=test

rem ********Логин и пароль к 1С***********
set User="Admin"
set Password="123456"

rem ********Путь к папке с логами и бекапами***********
set LogLocation=D:\1C\Log\
set BackupLocation=D:\1C\Backup\

rem ********На случай, если нужно будет создать папки с текущей датой. Тогда заменить предыдущие строки на эти***********
rem set LogLocation=D:\1C\Log\%VDATE%\
rem set BackupLocation=D:\1C\Backup\%VDATE%\

rem ********Все имена необходимо указывать на английском языке***********
rem ********Устанавливаем переменные дата для создания папок***********                                  
@chcp 1251
set VDATE=%date%

rem ********Устанавливаем переменные дата и время. Т.е. дата и время разбираются на части. Затем собираются и составляется по кускам***********
set VDATETIME=%DATE: =0% %TIME: =0%
for /f "tokens=1-7 delims=/-:., " %%a in ( "%VDATETIME%" ) do (set VDATETIME=%%a.%%b.%%c_%%d_%%e)

rem *****************1 ЭТАП*********************

rem забираем с FTP-сервера файл обновления
d:\1C\curl.exe ftp://%loginpassFTP%@%URLFTP%/Update/Update.cfu -o d:\1C\Update\Update.cfu

rem *****************2 и 3 ЭТАП*********************
               
rem ********Прописываем путь к файлу. К папке COMMON писать нельзя. Почему то не работает***********                                  
set EnginePath="C:\Program Files\1cv8\8.3.3.687\bin\1cv8.exe"

rem ********Путь к файлу с обновлением***********
set CfuLocation="D:\1C\Update\Update.cfu"

rem ********Путь к папке с базой, если она файловая конечно же. Если серверная, то приписать имя кластера и поменять параметр конфига на S. CONFIG /S***********
set Cluster="D:\1C\Base"

rem ********Если требуется создать папки с датой, то просто разкомментировать***********
rem MD "D:\1C\Backup\%VDATE%"
rem MD "D:\1C\Log\%VDATE%"

rem ********Указать имя базы как в окне выбора информационной базы. Можно по русски. По какой то причине school_46 не проканал(((((***********
set BaseName=TD_SPP

rem ********Делаем бекап базы***********
start "" /wait %EnginePath% CONFIG /F %Cluster%/%BaseName% /N %User% /P %Password%  /DumpIB %BackupLocation%%FTPLocation%_%BaseName%_%VDATETIME%.dt /Out %LogLocation%%FTPLocation%_%BaseName%_%VDATETIME%_Backup.log

rem ********Копируем лог бекапа и сам бекап на FTP***********
d:\1C\curl.exe -T "%LogLocation%%FTPLocation%_%BaseName%_%VDATETIME%_Backup.log" ftp://%URLFTP%/Log/ --user %loginpassFTP%
d:\1C\curl.exe -T "%BackupLocation%%FTPLocation%_%BaseName%_%VDATETIME%.dt" ftp://%URLFTP%/Backup/ --user %loginpassFTP%

rem ********Выполняем обновление***********
start "" /wait %EnginePath% CONFIG /F %Cluster%/%BaseName% /N %User% /P %Password%  /UpdateCfg %CfuLocation% /UpdateDBCfg /Out %LogLocation%%FTPLocation%_%BaseName%_%VDATETIME%_Update.log

rem ********Копируем лог обновления на FTP***********
d:\1C\curl.exe -T "%LogLocation%%FTPLocation%_%BaseName%_%VDATETIME%_Update.log" ftp://%URLFTP%/Log/ --user %loginpassFTP%

Использование этого кода ТОЛЬКО на Ваш страх и риск. Специалист должен самостоятельно понимать его смысл и выполняемые действия.

Скачать файлы

Наименование Файл Версия Размер
1C.zip
.zip 239,48Kb
06.05.18
2
.zip 239,48Kb 2 Скачать

См. также

Комментарии
1. Александр Дмитриев (МимохожийОднако) 119 09.05.18 08:24 Сейчас в теме
А некоторым нравится обновлятор
Оставьте свое сообщение