Перейти к содержимому


Фото
- - - - -

Создание зеркала обновлений на Linux сервере для Windows машин


  • Please log in to reply
203 ответов в этой теме

#121 oldzren

oldzren

    Newbie

  • Posters
  • 10 Сообщений:

Отправлено 05 Сентябрь 2011 - 10:42

Доказывать я ничего не хочу, я хочу разобраться. Обычно задания замечательно выполняются, если при помощи команды crontab -u user -e редактировать файл /var/spool/cron/crontabs/user или crontab -u root -e файл /var/spool/cron/crontabs/root, а у них такой синтаксис, как я привел в своем посте. Напрямую файл /etc/crontab не приходилось редактировать ни разу.

UPD: отредактировал файл /etc/crontab по Вашей подсказке - результат, увы, тот же...

Сообщение было изменено oldzren: 05 Сентябрь 2011 - 10:46


#122 DoC

DoC

    Добрый Э-э-х

  • Posters
  • 1 477 Сообщений:

Отправлено 05 Сентябрь 2011 - 11:46

Доказывать я ничего не хочу, я хочу разобраться. Обычно задания замечательно выполняются, если при помощи команды crontab -u user -e редактировать файл /var/spool/cron/crontabs/user или crontab -u root -e файл /var/spool/cron/crontabs/root, а у них такой синтаксис, как я привел в своем посте. Напрямую файл /etc/crontab не приходилось редактировать ни разу.

UPD: отредактировал файл /etc/crontab по Вашей подсказке - результат, увы, тот же...


весьма странно.
тогда как вариант - давать права rw-rw-rw на файлы и папку

Чукча не читатель! Чукча - писатель!


#123 oldzren

oldzren

    Newbie

  • Posters
  • 10 Сообщений:

Отправлено 05 Сентябрь 2011 - 13:02

Вот тут начались чудеса ;) В общем, даю из-под root-a chown -R user:user /var/update/600 - все, владелец файлов user, группа user. Проверяю доступ - фигушки. Задумался, чем отличается, например, chown -R /var/update/600 от chown /var/update/600/* ? А еще команда ls -l /var/update/600 выдала такое!
?????????? ? ? ? ? ? dwfprn19.dws
[ sensored ]??????? ? ? ? ? ? dwfprn17.dws
[ sensored ]??????? ? ? ? ? ? dwfprn18.dws
[ sensored ]??????? ? ? ? ? ? dwfvln00.dws
[ sensored ]??????? ? ? ? ? ? dwfscl00.dws
[ sensored ]??????? ? ? ? ? ? white_dwfprn.dws
[ sensored ]??????? ? ? ? ? ? dwfvln01.dws
[ sensored ]??????? ? ? ? ? ? drwreg.exe
[ sensored ]??????? ? ? ? ? ? timestamp
[ sensored ]??????? ? ? ? ? ? drweb32.lst
Именно так, знаками вопросов.
Стало до конца ясно-понятно, что надо проверять права доступа к папке и файлам кардинальным образом, чем и занялся.
DoC, спасибо за содействие!

Кстати, cron от пользователя user меняет права доступа к файлам после выполнения скрипта :)

Сообщение было изменено oldzren: 05 Сентябрь 2011 - 13:06


#124 oldzren

oldzren

    Newbie

  • Posters
  • 10 Сообщений:

Отправлено 06 Сентябрь 2011 - 06:29

В итоге получилось так: права на папку 777, права на файлы в папке 666, владелец папки и файлов user, cron запускается от пользоателя user, задание назначено через crontab -u user -e, права после работы cron-a сохраняются. Пока "полет" нормальный - скачиваются и новые, и обновленные файлы.
Еще раз спасибо DoC за содействие!

#125 loea

loea

    Newbie

  • Posters
  • 27 Сообщений:

Отправлено 19 Октябрь 2011 - 11:01

Позвольте представить свое решение, адаптированное под версию 7.

#126 DoC

DoC

    Добрый Э-э-х

  • Posters
  • 1 477 Сообщений:

Отправлено 20 Октябрь 2011 - 12:09

Позвольте представить свое решение, адаптированное под версию 7.

Собственно в статье вы забыли упомянуть самое важное - зеркало САМО не создается - его надо выложить с живой станции.
а лучше всего - самоформирование зеркала с нуля.
и еще - как вариант брать файл drwzones.xml для описания зон - ведь ключ берется ;)

Чукча не читатель! Чукча - писатель!


#127 loea

loea

    Newbie

  • Posters
  • 27 Сообщений:

Отправлено 20 Октябрь 2011 - 13:09

Именно создается. Вытягивается с нуля при первом запуске.
Да, drwzones.xml желательно где-то найти предварительно (но для первого запуска есть одна строчка, а потом вытянется полный).
Была мысль анализировать каждый раз, но ввиду редкой изменяемости и в угоду большей мобильности (один исполняемый файл) решил вставлять нужные данные в сам скрипт. Как и с ключом: скритп просто считает нужные данные, если ключи есть, вставить их нужно самостоятельно.

#128 DoC

DoC

    Добрый Э-э-х

  • Posters
  • 1 477 Сообщений:

Отправлено 20 Октябрь 2011 - 13:16

Именно создается. Вытягивается с нуля при первом запуске.
Да, drwzones.xml желательно где-то найти предварительно (но для первого запуска есть одна строчка, а потом вытянется полный).
Была мысль анализировать каждый раз, но ввиду редкой изменяемости и в угоду большей мобильности (один исполняемый файл) решил вставлять нужные данные в сам скрипт. Как и с ключом: скритп просто считает нужные данные, если ключи есть, вставить их нужно самостоятельно.


да. но скрипт почему-то не создал папки нужные. выдал "Unknown" и висел в ожидании чуда. После ручного создания структуры папкок все сразу заработало с полпинка.
еще вопрос - каким образом обновляться клиентам - согласно статье http://wiki.drweb.com/index.php/Локальное_Зеркало_на_http_сервере_для_Dr.Web_7 ???

Чукча не читатель! Чукча - писатель!


#129 Timur Abdrakhmanov

Timur Abdrakhmanov

    Newbie

  • Posters
  • 8 Сообщений:

Отправлено 20 Октябрь 2011 - 16:04

Обновление клиентов в статье прописано.) Недоглядел.
Хожу лесами и морями ...

#130 loea

loea

    Newbie

  • Posters
  • 27 Сообщений:

Отправлено 20 Октябрь 2011 - 18:05

но скрипт почему-то не создал папки нужные

Хм, тогда надо все начальные условия и лог целиком. Вопросу создания с нуля уделил отдельное внимание - работало. Перепроверил - у меня работает и сейчас. Подозреваю, что что-то с правами на корневую директорию... Хотя у меня в этом случае просто обругивается (без уточнения) и вываливается.

#131 loea

loea

    Newbie

  • Posters
  • 27 Сообщений:

Отправлено 20 Октябрь 2011 - 18:31

Обновление клиентов в статье прописано.) Недоглядел.

Предполагаю, что в Вашем варианте тоже сработает обновление через прокси=веб-серверу. Тогда не нужны будут пляски с DNS, vhost

#132 Timur Abdrakhmanov

Timur Abdrakhmanov

    Newbie

  • Posters
  • 8 Сообщений:

Отправлено 20 Октябрь 2011 - 20:18

В моем случае из локальной сети нет доступа в интернет вообще (на ФГУП 1й отдел бушует) не разрешено. Есть несколько машин для доступа в интернет и все, остальной парк машин в строгой изоляции.
Хожу лесами и морями ...

#133 loea

loea

    Newbie

  • Posters
  • 27 Сообщений:

Отправлено 20 Октябрь 2011 - 20:52

Я немного о другом. В интернет они и не пойдут. Просто задайте всем в настройках прокси-сервер, равный поднятому веб-серверу.

#134 Timur Abdrakhmanov

Timur Abdrakhmanov

    Newbie

  • Posters
  • 8 Сообщений:

Отправлено 21 Октябрь 2011 - 18:16

Это будет не удобно ввиду бооольшого кол-ва машин. Мне проще сделать на web-сервере и dns-сервере. Нужды лезть в настройки на клиентских местах нет.
Хожу лесами и морями ...

#135 Wertrigo

Wertrigo

    Newbie

  • Posters
  • 16 Сообщений:

Отправлено 22 Октябрь 2011 - 05:31

Позвольте представить свое решение, адаптированное под версию 7.

Настроил все по рекомендации мануала. WinServer 2008 sp2, PHP 5.2

После запуска скрипта через батник выдает следующее:

It seems previous attempt was stalled more than 10 mins ago
Trying [http://update.msk12.drweb.com/xmlzone/release/700/sspace/]
[versions.xml]: Error , retrying 1
Trying [http://update.msk7.drweb.com/xmlzone/release/700/sspace/]
[versions.xml]: Error , retrying 2
Trying [http://update.msk.drweb.com/xmlzone/release/700/sspace/]
[versions.xml]: Error
И останавливается, при этом создается директория drweb\xmlzone\~download\700\av

Возможно где-то ошибся я или проблема в другом?

Сообщение было изменено Wertrigo: 22 Октябрь 2011 - 05:34


#136 Wertrigo

Wertrigo

    Newbie

  • Posters
  • 16 Сообщений:

Отправлено 22 Октябрь 2011 - 07:06

Разобрался. Была не правильна задана переменная $wget, я указал папку, где лежит wget.exe, а надо было прямо на файл указать в переменной

Интересует еще момент, скрипт с параметром зоны по умолчанию
<path value="/xmlzone/release/700/av"/>
будет скачивать только базы для 7 версии антивируса? Если так, то как научить скрипт качать базы для всех продуктов верси1 6-7, кроме как клонированием скрипта и в каждую копию отдельно прописывать разные продукты? Хотя по идее должно качать все, если указать
<path value="/xmlzone/release"/>
попробую, вроде должно сработать

Сообщение было изменено Wertrigo: 22 Октябрь 2011 - 07:07


#137 loea

loea

    Newbie

  • Posters
  • 27 Сообщений:

Отправлено 22 Октябрь 2011 - 08:20

Так наверное не получится
Для 7-х версий других продуктов (в частности, проверил с Security Space) получается клонированием и использованием другого файла зон. Насчет универсальности подумаю. А для 6-х версий совсем другой скрипт, который drweb32.lst разбирает... Он у меня более корявый, в силу исторических причин :ph34r:

#138 Ko6Ra

Ko6Ra

    Supporter

  • Posters
  • 3 308 Сообщений:

Отправлено 22 Октябрь 2011 - 11:05

Разобрался. Была не правильна задана переменная $wget, я указал папку, где лежит wget.exe, а надо было прямо на файл указать в переменной

Интересует еще момент, скрипт с параметром зоны по умолчанию

<path value="/xmlzone/release/700/av"/>
будет скачивать только базы для 7 версии антивируса? Если так, то как научить скрипт качать базы для всех продуктов верси1 6-7, кроме как клонированием скрипта и в каждую копию отдельно прописывать разные продукты? Хотя по идее должно качать все, если указать
<path value="/xmlzone/release"/>
попробую, вроде должно сработать


Увы, не получится качать таким образом и для 6 и для 7.
В шестерке зоны совсем другие и различаются в зависимости от битности.

ыЫ


#139 Wertrigo

Wertrigo

    Newbie

  • Posters
  • 16 Сообщений:

Отправлено 22 Октябрь 2011 - 13:30

1. Жаль, что для 6 нельзя одним скриптом качать, но ничего страшного - давно пора на 7ку уже всем переходть, тем более ключи можно конвертировать.

2. В общем сделав 2 скрипта, различающиюся только зонами для антивируса и фаерволла:
<path value="/xmlzone/release/700/sspace"/>
<path value="/xmlzone/release/700/av"/>
получил в одной папке обновления для них

Затем отключил инет на машине с клиентом антивируса, прописал ей в прокси (домен и порт) адрес сервера, где лежат апдейты. Домен сидит на виртуальном хосте, т.к. сервер имеет несколько порталов, но данному виртуальному хосту как и полагается в Apache прописана личная document root, которая является родителем для папки xmlzone
После этого запустил обнволение баз, которые датированы 10.10.2011 после установки антивируса.

Произошло это

Прикрепленный файл  drweb_1.jpg   14,1К   0 Скачано раз

А затем вот это

Прикрепленный файл  drweb_2.jpg   15,23К   0 Скачано раз

Вроде 13 файлов откуда-то обновились, но непонятно откуда - базы остались с той же датой.
Вот лог, который перед запуском обновления был почищен

Прикрепленный файл  dwupdater.log   14,16К   3 Скачано раз

В логах виртуального хоста Apache, домен которого прописан в прокси, ничего не появилось.

Собственно вот такие пирожки с котятками. Либо у меня руки к заднице приросли и я что-то упустил, либо попросту при использовании виртуального хоста антивирус не хочет хавать обновления и ему нужен IP веб-сервера, который бы работал только для него. Но делать еще один выделенный веб-сервер будет слишком жирно, я считаю.

Сообщение было изменено Wertrigo: 22 Октябрь 2011 - 13:32


#140 basid

basid

    Guru

  • Posters
  • 4 553 Сообщений:

Отправлено 22 Октябрь 2011 - 13:49

Затем отключил инет на машине с клиентом антивируса, прописал ей в прокси (домен и порт) адрес сервера, где лежат апдейты.

А вы объяснили этому "прокси", что он должен делать суровые перенаправления?