![]() |
Переименование папки и копирование новой из сети.
Здравствуйте.
Мне поставили задачу, автоматизировать процесс обновления программы. Что бы Вы понимали, мне нужно почти каждый день, переименовать локальную и скопировать из сети новую папку (обновление) примерно на 30 компа. Если это делать в ручную, то работа занимает как минимум весь рабочий день и при этом нужно намотать примерно 18-20 км по территории огромного завода. Мне нужен бат файл, который будет выполнять следующее: 1. rename "C:\loc******\Factory" "Factory_(дата установки обновления такого формата 2017_06_17)" (Перед тем как копировать новую папку, нужно старую переименовать - добавить к ней дату. ) 2. После этого нужно скопировать из сети (папка будет на компе: 192.168.1.11\www\Factory новую папку Factory, в C:\loc******\) Создать папку с датой - научился, но вот переименовать, что то никак. ((( Помогите пожалуйста. |
Вы ничего не сказали о Вашей сети и об организации машин в ней.
Цитата:
Что скрывается под выделенным? Цитата:
Цитата:
|
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Я не могу понять — зачем вообще куда-то ходить? Есть десятки способов удалённого управления, была бы физическая связь между машинами. Цитата:
Цитата:
А самый правильный вариант — использовать msi и те же групповые политики. Но я за это даже не заикаюсь уже. |
Цитата:
По этому, сотрудник должен лично прийти и установить. Цитата:
Цитата:
|
Lorttt,
мы в 21 веке живем - выбейте себе мотороллер :yahoo: |
Lorttt,
Вот решение так, как Вы поставили задачу, но так делать не нужно, надо менять организацию работ
Код:
@Echo Off |
Цитата:
Цитата:
Цитата:
Цитата:
2. Проверить самому. А ходить по машинам и копировать ручками (или управлять ручным запуском пакетного файла по телефону) — тут сразу вспоминается «Да что же мы, дикари?! В XVIII веке живём!» :(. Update: пока писал — вон уже и коллега alpap явно вспомнил тот же эпизод ;). |
Iska, Иной раз статус айтишника в организации между уборщицей и секретаршей - секретарша главнее, так что, alpap, мотороллер ему не светит - по рангу не положен. На свои деньги купить самокат и, если удастся с ним просочиться через проходную, то вперёд и с песнями
|
megaloman, я знаком с подобным подходом не понаслышке. Замечу токмо, что покупать надо не самокат, а фанеру, строить из неё ероплан и рулить оттель к едрене фене.
|
Lorttt, Я бы предложил это организовать так:
1. На общем ресурсе выкладывал бы не папку с изменениями, а упакованный файл папки с признаком задачи и даты-времени изменения. Например: buh201706131525.rar (естественно, архиватор используем разрешенный в инф. системе). Во первых, это сделает копирование по сети быстрее и, главное, позволит автоматизировать порядок обновлений - ИМХО, бывает, что обновления корректно становятся, если ни одно не пропущено и обязательно последовательно надо все обновления сделать. 2. Может быть, несколько раз в день организовать в назначенном задании на машинах пользователей копирование обновлений, еще не присутствующих у них. Хотя бы это руками не делать. По крайней мере, свести процесс к запуску скрипта. 3. Меня аж всего корёжит, как представлю, что 30 раз в день надо делать одно и то же, не знаю, что у Вас за обновление, но хотя бы сам процесс попытаться организовать скриптом. И заставить пользователя его делать. Например, задача не запустится, пока существует несделанное обновление. 4. А само обновление (лучше скриптом, чем руками) по следующему алгоритму: 4.1. Упакованные файлы обновления приходят, например, в папку Factory.In 4.2. Из папки Factory.In обновления последовательно распаковываются, например, в Factory, и устанавливаются. Factory очищается. 4.3. Установленные обновления из Factory.In последовательно по мере установки перемещаются в папку, например, Factory.arc При скачивании обновлений скрипт смотрит все выложенные файлы и проверяет, нет ли уже их среди ранее скачанных в Factory.In и Factory.arc В идеале, при запуске задачи (скриптом, естественно) проверяется обновление, ставится и уж затем запускается задача. Однако это возможно, если задача не крутится у пользователя круглосуточно, иначе надо думать как корректно принудительно перезапускать задачу. |
Iska, Не всегда Едрена Феня доступна. Маленький городок, одно предприятие, работа за 3 копейки за счастье - на улице толпа голодных безработных. А уехать - семейные обстоятельства. Как-то на очень профессиональных курсах нечто подобное изложил преподавателю, как живётся айтишнику, он выдал запоминающуюся фразу: вы не на те курсы приехали, вам на курсы изменения менталитета.
|
megaloman, Вы меня недооцениваете, коллега ;). Я именно так и живу. Только округлите «маленький городок» в ещё меньшую сторону.
Цитата:
|
Цитата:
Код:
@Echo Off |
Цитата:
Из ехе только склсервер и апач, который не копируются. Остальное в тхт. - которое надо копировать. |
Lorttt, в чём заключается процесс обновления, когда Вы его делаете руками?. Опишите процесс. Тогда можно не гадать, а попробовать что-то наваять для автоматизации. Надеюсь, это не составляет гостайны? Все равно, чем-то же задача запускается? Каким-нибудь браузером, например
|
Цитата:
Например, надо сделать так, что бы нужные записи удалялись. + Кнопку для этого сделать + еще что то там , которое зависит от этого процесса. Програмист получает задание. Изменяет/добавляет код в различные файлы тхт (которые в папке фэктори) . После чего, просто эту папку упаковывает в архив и дает мне. И.. я побежал. Пришел. переименовал локальную папку (если вдруг обновление кривое, то можно вернуться назад) и закинул новую. Все. Цитата:
ВОт поэтому я и прихожу. Пришел. Обновил. Почистил куки и вперед. |
Цитата:
Цитата:
Цитата:
подобная строка многое бы решила: Код:
psexec -i \\ip-адрес удалённого компьютера -u Имя учётной записи -p пароль report.bat |
Lorttt,
Вот решение, способное автоматизировать процесс в рамках Вашей постановки задачи, пропишите свои пути на машине клиента
Код:
DirSoft = "Z:\loc\tra la la\Factory" 'Папка с софтом на локальной машине Как это работает: Сохраните скрипт в файл с расширением .vbs на клиентской машине в кодировке Windows 1251. 1. При запуске скрипта на клиентской машине вручную: 1.1. Сравниваются файлы на сервере и на клиентской машине. Если все даты изменения файлов на сервере и у клиента совпадают и все файлы у клиента присутствуют, то не делаем ничего. 1.2. В противном случае: 1.2.1. Если у клиента запущен браузер, из-под которого работает задача, выдаётся запрос о том, что его работу надо завершить. Пользователю даётся на это время. Если пользователь не реагирует, браузер завершится принудительно. Точнее, закроются все окна и все экземпляры браузера, даже если он используется для других целей. У пользователя остаётся возможность отказаться от обновления в отведённое на реагирование время. 1.2.2. При отсутствии запущенного браузера все файлы задачи перемещаются в архивную папку. Я бы предложил, например, такую иерархию: Z:\loc\tra la la\Factory\Box_Arc\20170619_115818 Z:\loc\tra la la\Factory\Box_Arc\20170619_164201 В любом случае, считаю необходимым иметь отдельную выделенную папку для архивов. Не обязательно в Factory. 1.2.3. Копируются все файлы с сервера в папку задачи. 1.2.4. Просматривается архивная папка. Папки-архивы старше указанного количества дней, удаляются. Именно поэтому требуется для папок-архивов отдельная папка, чтобы не удалить лишнего. А если их не удалять, то получим в конце концов их громадное количество. 1.2.5. Запускается браузер. В параметре адрес задачи. Пропишите правильный. 2. Вариант, который оставит Вас без работы и грозит увольнением (Вы целый день этим вручную занимаетесь, теперь это будет делаться без Вас :lol: ). Поставьте этот скрипт в запланированные задания в планировщике у клиента, чтобы он работал ежедневно несколько раз в день. Он сработает точно так же, как вручную. Единственное, зачем Вы нужны, выложить обновление на сервер. При отсутствии обновления пользователь работу скрипта не заметит. При обновлении пользователь в состоянии адекватно ответить. |
Время: 00:49. |
Время: 00:49.
© OSzone.net 2001-