<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; CMD/BAT: MongoDB, установка с bat-файла]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=9533&amp;type=atom" />
	<updated>2014-05-08T18:12:34Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=9533</id>
		<entry>
			<title type="html"><![CDATA[Re: CMD/BAT: MongoDB, установка с bat-файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=82795#p82795" />
			<content type="html"><![CDATA[<p>Хм... А почему не хотите использовать значение переменной %PROCESSOR_ARCHITECTURE%?<br />Только из-за того, что в имени файлов инсталляторов используется связка &quot;x86_64&quot;, а не &quot;AMD64&quot;? Та не покзатеь, что в новых версиях такой формат сохранится...</p><p>Да и способ проверки упростится, получится что вроде такого:<br /></p><div class="codebox"><pre><code>
if /i &quot;%PROCESSOR_ARCHITECTURE%&quot; == &quot;AMD64&quot; (set xOS=64 &amp; zOS=x64)
</code></pre></div><p>Да и используются потом эта переменная (xOS) только для создания имени службы, а переменная zOS вообще больше не используется. Или же они требуются для корректной работы инсталлятора? Или эти переменные требуются для корректной работы MongoDB?</p>]]></content>
			<author>
				<name><![CDATA[hvs]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25508</uri>
			</author>
			<updated>2014-05-08T18:12:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=82795#p82795</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[CMD/BAT: MongoDB, установка с bat-файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=82272#p82272" />
			<content type="html"><![CDATA[<p>Автоматизировал установку MongoDB в bat-файле. Вплоть до скачивания, различных проверок и установки как службы.<br />Все работает... Но хотелось бы добавить поиск на сайте актуальной последней версии и ее установку, а не конкретно указанной в файле, т.к ссылки на скачивание приходится прописывать вручную.<br />И, соответственно, вопрос, если кто сможет помочь:<br />Как с батника обратиться на сайт монго, проверить последнюю версию и именно ее загрузить или предоставить выбор?<br />Заранее спасибо тем, кто не пройдет мимо и хоть как-то поможет или посоветует!<br />Код:</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>
::::::::::::::::::::
::::: СИСТЕМА ::::::
::::::::::::::::::::

::Определяем битность системы и создаем переменную
ECHO OFF
set xOS=x32
set zOS=
if DEFINED ProgramFiles(x86) set xOS=x64
if DEFINED ProgramFiles(x86) set zOS=64

::::::::::::::::::::
::: MONGODB 2.6 ::::
::::::::::::::::::::
set mongodb1=mongodb-win32-i386-2.6.0
set mongodb2=mongodb-win32-x86_64-2008plus-2.6.0
set mongodb3=mongodb-win32-x86_64-2.6.0
::Проверяем есть ли скачанные файлы
IF EXIST %mongodb1%.zip 
    (
    set mongoversion=%mongodb1%
    unzip -l &quot;%mongoversion%.zip&quot;
    ) ELSE 
        (
        IF EXIST %mongodb2%.zip 
            (
            set mongoversion=%mongodb2%
            unzip -l &quot;%mongoversion%.zip&quot;
            ) ELSE 
                (
                IF EXIST %mongodb3%.zip 
                    (
                    set mongoversion=%mongodb3%
                    unzip -l &quot;%mongoversion%.zip&quot;
                    ) ELSE 
                        ( 
                        ::Скачиваем дистрибутив в соответствии с битностью системы
                        choice /c 1230 /M &quot;1 - mongodb-i386-2.6.0, 2 - mongodb-x86_64-2008plus-2.6.0., 3 - mongodb-x86_64-2.6.0, 0 - None&quot;
                        IF ERRORLEVEL 1 SET urlmongo=mongodb-win32-i386-2.6.0
                        IF ERRORLEVEL 2 SET urlmongo=mongodb-win32-x86_64-2008plus-2.6.0
                        IF ERRORLEVEL 3 SET urlmongo=mongodb-win32-x86_64-2.6.0
                        IF ERRORLEVEL 4 SET urlmongo=None
                        curl -f -# -O  -k https://fastdl.mongodb.org/win32/%urlmongo%.zip
                        ::Распаковываем дистрибутив
                        unzip -l &quot;%urlmongo%.zip&quot;
                        )
                )
        )

::Объявляем переменную
set mongodb=d:\server\mongodb
::Создаём каталоги
mkdir %mongodb%\2.6-database &gt;nul 2&gt;nul
mkdir %mongodb%\2.6-server &gt;nul 2&gt;nul
mkdir %mongodb%\2.6-log &gt;nul 2&gt;nul
mkdir %mongodb%\2.6-config &gt;nul 2&gt;nul
::Создаем файл конфигов с указанием папки логов, папки хранения данных и смены порта 27017 по умолчанию на 3333
echo logpath=d:\server\mongodb\2.6-log\mongod.log&gt; &quot;%mongodb%\2.6-config\mongod.cfg&quot;
echo dbpath=d:\server\mongodb\2.6-database&gt;&gt; &quot;%mongodb%\2.6-config\mongod.cfg&quot;
echo port=6666&gt;&gt; &quot;d:\server\mongodb\2.6-config\mongod.cfg&quot;
::Копируем файлы
copy %mongoversion%\bin %mongodb%\2.6-server\
::Инсталлируем
%mongodb%\2.6-server\mongod.exe --config %mongodb%\2.6-config\mongod.cfg --install
::Создаем службу с именем MongoDB
sc.exe create MongoDB-%xOS% binPath= &quot;\&quot;%mongodb%\2.6-server\mongod.exe\&quot; --service --config=\&quot;%mongodb%\2.6-config\mongod.cfg\&quot;&quot; DisplayName= &quot;MongoDB-%xOS% (%mongoversion%)&quot; start= &quot;auto&quot;
::Запускаем службу
net start MongoDB-%xOS%</code></pre></div></div></div><p>Код не итоговый, так что не судите строго. Я в этом не силен (... Постепенно приведу в хороший вид и состояние... Для меня главное, что работает)))<br />Используемые сторонние программы: curl.exe и unzip.exe</p>]]></content>
			<author>
				<name><![CDATA[dxangelo]]></name>
			</author>
			<updated>2014-04-25T04:28:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=82272#p82272</id>
		</entry>
</feed>
