![]() |
Доработка и проверка скрипта архивирования
Добрый день уважаемые форумчане. Прошу Вашей помощи в проверке и доработке файла .bat так как сам я не очень силен в этой области, но что то нашел в интернете что то подправил сам. И так задача:
Есть 2 сервера: 1 хранятся Бд SQL и 1C. Путь D:\Programs\1C и резервные копии БД SQL D:\MSSQL\MSSQL\Backup\21_00. Есть промежуточные папка D:\ARHIV\ARHIV_1C и D:\ARHIV\ARHIV_BD 2 сервер на котором должны храниться копии сервера 1. Путь \\Server-domain\d$\ARHIV\ARHIV_BD и \\Server-domain\d$\ARHIV\ARHIV_1C . Нужно сделать так что бы каждый день на сервере 1 делались архивы 1С и BD и копировались на сервер 2. При этом архивы на сервере 1 должны храниться не более 7 дней. Сделал такой исполняемый файл и сохранил его как start.bat: код
D:
cd D:\Programs\1C rar a -agYYYY.MM.DD -m5 -r -x D:\ARHIV\ARHIV_1C\backup_.rar *.* cd D:\MSSQL\MSSQL\Backup\21_00 rar a -agYYYY.MM.DD -m5 -r -x D:\ARHIV\ARHIV_BD\backup_.rar *.* copy /Y D:\ARHIV\ARHIV_1C\*.rar \\Server-domain\d$\ARHIV\ARHIV_1C\*.rar copy /Y D:\ARHIV\ARHIV_BD\*.rar \\Server-domain\d$\ARHIV\ARHIV_BD\*.rar Forfiles /P D:\ARHIV\ARHIV_1C /S /M *.* /D -7 /C "cmd /c del /Q @path" Forfiles /P D:\ARHIV\ARHIV_BD /S /M *.* /D -7 /C "cmd /c del /Q @path" Скажите все ли тут так? можно ли что то облегчить? И как к моей задаче сделать Log файл. Заранее всем спасибо за советы и участие в теме! P.S. Знаю что команды forfiles и copy можно заменить командой robocopy, но как понять не могу. Хотя возможно я ошибаюсь что их можно заменить... |
Друзья давайте по активнее. Правда нужна помощь.
|
Цитата:
Резервное копирование делают на случай сбоев в работе. Ваш "скрипт" никак не учитывает возможные сбои. |
Busla ?спасибо за помощь.
|
igor.kinma,
Цитата:
Яволь, майн генераль! :)
Код:
@Echo Off Я не знаю объёма Ваших баз, ИМХО, ключ -m5 плох: не даёт существенного выигрыша в объеме, но зато при больших базах тратится громадное время. Я сделал -m3, но Вашу свободу никто не смеет ограничивать. Цитата:
Цитата:
Цитата:
|
Цитата:
Помогите пожалуйста неумному в доработке Вашего скрипта или создании дополнительного: Базы данных 1С должны архивироваться каждый день в D:\ARHIV\1C и иметь вид Backup(1C)_дата.rar Базы данных SQL должны архивироваться каждый день в D:\ARHIV\BD с заменой архива. Почему именно с заменой? На SQL сервере настроено резервное копирование БД каждый день в 21:00 с пн по пт. с удалением файлов старше 6 дней. Тоесть я полагаю что данный архив должен называться Backup(SQL)_update.rar и каждый день в него должны добавляться недостающие файлы, а в пятницу после очередного пополнения, он должен быть переименован в Backup(SQL)_дата.rar. Таким образом он будет содержать в себе файлы SQL баз с пн по пт. (всего 5 файлов) Ну и соответственно все это дело должно каждый день копироваться на сервер 1. по следующему принципу: Архив 1C каждый день с названием Backup(1C)_дата.rar Архив SQL баз каждый день с названием Backup(SQL)_update.rar, а в пятницу Backup(SQL)_дата.rar и после копирования, если оно удачно удалить файл Backup(SQL)_update.rar И так же должно сохраниться условие хранение 7 архивов. P.S Если для всего этого необходимо несколько файлов .bat то ни чего страшного главное что бы все это работало. Заранее Вам огромное спасибо. |
Немного подумав на ум приходит 3 .bat файла.
Архив и перенос Баз 1С
Код:
@Echo Off Архивирование и перенос SQL
Код:
@Echo Off Далее нужен 3 скрипт который будет переименовывать архив Backup(SQL)_update.rar в Backup(SQL)_дата.rar, копировать его на сервер и удалять от туда Backup(SQL)_update.rar Переименование и копирование архива
Код:
@Echo Off |
Немного подумав, на ум приходит доработка 1 командного файла
Код:
@Echo Off Цитата:
Так, как описали Вы, архиватор заново будет архивировать все файлы, накопившиеся за неделю - лишние траты времени и места. И вообще, я заменил команду a в RAR на u, чтобы не тратить время на переархивирование старых файлов в Backup(SQL)_update.rar. Определение дня недели не помню где подсмотрел |
megaloman, Огромное Вам человеческое спасибо!Запустил Ваш скрипт в планировщик с пн по пт в 21:30. Будем тестировать.
Но есть один вопрос. Копирование на \Server-domain\ идет всех файлов из папок Z:\ARHIV\ARHIV_BD и Z:\ARHIV\ARHIV_1C или только последних которые создались? |
igor.kinma, 1C архивируется, а затем и копируется всё заново. Если не устраивает, то надо наманер как для баз SQL именовать архив без привязки к дате, обновлять его (при этом будут переархивированы обновлённые файлы и добавлены новые, а затем уже копировать этот файл с признаком даты в имени. Естественно, при этом в архиве будут все файлы. Вы не объяснили, что архивируется и можно ли после архивирования исходные файлы удалить. Если это бэкапы - вполне можно. И даже нужно, иначе будем постоянно архивировать всё, включая бэкапы столетней давности. Всего-то в Rar добавить ключ. Тогда получим архивы только свежих файлов. А вот если это рабочие базы .... Увы.
С sql мне понятнее. Там бэкапы, да и то, после успешного архивирования я бы их удалял (соответствующий ключ в rar). В Вашей первоначальной постановке архивируется всё. Иного Вы не озвучивали. Если что-то не устраивает, постарайтесь четче сформулировать Ваши хотелки :) Может быть можно как-то привязываться к именам исходных файлов? |
megaloman, Хорошо я попробую сформулировать по конкретней как и что у меня устроено и что нужно, но чуть по позже ) Сейчас пока в кратце могу сказать что недавно словили шифровальщик и хапнули много горя( Вот теперь и хочу сделать достойную а главное автоматизированную систему архивации)
|
megaloman, Сейчас постараюсь объяснить что и как устроено и что бы хотелось получить в результате.
Дано: 1-сервер на нем есть рабочая база 1С Путь D:\Programs\1C к этой папке дан общий доступ и SQL сервер с базами. с пн по пт в 21:00 делается бекап Баз (.bak) с удалением файлов старше 6 дней. Бекапы сохраняются в D:\MSSQL\MSSQL\Backup\21_00. Так же на этом же сервере есть папки D:\ARHIV\1C и D:\ARHIV\BD (где должны лежать rar архивы) 2-сервер является резервным на нем должны храниться копии архивов. На нем так же есть папки D:\ARHIV\1C и D:\ARHIV\BD. Сетевой путь \\Server-domain\d$\ARHIV.... Что хочется: Что бы с пн по пт в 21:30 создавался архив (.rar) D:\Programs\1C и D:\MSSQL\MSSQL\Backup\21_00 на сервере 1 и копировался на сервер 2. - Архив 1С будет каждый раз новый что бы иметь возможность восстановить на любую дату - Архив SQL должен обновляться с пн по чт, а в пятницу полный архив. или обновляться с пн по пт и переименовываться. Когда наступает вечер пятницы 21:00 в папке D:\MSSQL\MSSQL\Backup\21_00 будут лежать копии баз за неделю. Следовательно её нужно заархивировать, присвоить дату и скопировать на 2 сервер, а промежуточный архив в папке D:\ARHIV\BD с пн по чт удалить на обои серверах, так как он уже не нужен. В итоге что мы должны получить утром в понедельник придя на работу 5 архивов 1С (.rar) каждый который с датой создания и которые размещены на сервер 1 и 2. 1 архив SQL баз (.rar) с пятничной датой который содержит в себе бекапы баз из папки D:\MSSQL\MSSQL\Backup\21_00 с пн по пт. и так же расположен на сервере 1 и 2. Все начинается новая неделя и архивы на сервере 1 нам плодить не нужно так как они все есть на 2 сервере, но мы их не удаляем а перезаписываем по 1. (тоесть в 21:30 создается архив а старый за понедельник удаляется) и новый архив так же копируется на сервер 2 (но только новый т.к. копировать все нам не нужно они уже есть на сервере. Что же касается архива c Базами SQL так же создается новый но не удаляя пятничный. Пятничный архив должен удалиться уже на след. понедельник. Вывод, цель и чего хотелось достичь: каждый понедельник у нас на сервере 1 всегда должен быть полноценный архив SQL и 1С за прошедшую неделю, а сервер 2 является просто сборщиком архивов, на случай падения сервера 1. Что касаемо удаления: D:\Programs\1C - рабочая база удалять нельзя. D:\MSSQL\MSSQL\Backup\21_00 - бекабы сделанные SQL сервером. Удалять можно, но не желательно так как если придется восстанавливать базу скажем так на вчера ни чего из архива доставать не нужно. К тому же файлы старше 6 дней затираются сами. Вот это как бы основная задача. Если что то я замудрил или как то можно упростить не во вред безопасности пишите. |
igor.kinma, Имхо, Вы получили что хотели. Единственное, я поленился удалять Backup(SQL)_update.rar на 2 сервере, так как в понедельник он всё равно перезапишется. А если хотите автоматизации, чтобы потом не думать, надо ограничивать число архивов на втором сервере - иначе забьёте весь диск.
|
megaloman, я понимаю что это нагло с моей стороны но именно об этом я и хотел Вас попросить. а Именно сделать второй файл который я бы запустил в планировщик на сервере 2.
Дано: Хочу на сервере 2 сделать папки: Неделя Месяц Год. Задача: Сделать Файл который будет отслеживать кол-во архивов и копировать нужные архивы в папки. Тоесть архивы с сервера 1 должны копироваться на сервер 2 в папку неделя. В ней должны храниться все архивы за весь месяц. Затем в папку месяц должны копироваться архивы на 1, 15 и на конец месяца. А В папке неделя архивы должны перезаписываться. Попробую пояснить в январе 31 день. Хотелось бы что бы в папке неделя хранился 31 архив а в папку месяц копировался архив на 01.01.2018, 15.01.2018 и 31.01.2018. Затем в Папке неделя архивы начали бы перезаписываться. на Февральские. Тоесть на конец месяца в папке неделя должны быть февральские архивы а в папке месяц архивы на 01.02.2018, 15.02.2018, 28.02.2018 ну и т.д. Скажите пожалуйста реально ли написать такой Файл? megaloman, Запустил Ваш скрипт в Планировщик. (Немного подумав, на ум приходит доработка 1 командного файла) он отработал как положено в 21:30. Что получил: Архив баз 1С создался и скопировался. а Архив SQL баз не создался и не скопировался ! Лог файл то же создался только на базы 1С, на SQL да же нет лог файла На всякий случай скидываю поправленный файл. Может я что накосячил мой скрипт
Код:
Set "Arc="%ProgramFiles%\WinRar\Rar.exe"" |
igor.kinma,
Накосячили. Потеряли скобку. Хорошо хоть, что свой код предоставили.
Код:
) |
megaloman, Спасибо сейчас поправлю у себя и проверю. Правда сейчас люди работают в 1С и часть файлов не заархивируется, но для теста думаю сойдет.
Поправил, запустил, ждем... |
igor.kinma, Не знаю объём Ваших баз, но, по крайней мере, для отладки указал бы в RAR ключ -m1. Время радикально уменьшится.
А чтобы не дёргать 1C закомментировал бы строку rem Call :Backup "D:\Programs\1C" .... Наверное, если есть вероятность использования файлов во время архивирования, лучше добавить в RAR ключ -dh. Всегда есть вероятность, что какая-то тётушка забыла выйти из программы вечером. Какую при этом копию Вы получите, не знаю, не уверен, что сможете восстановить базу после этого. >nul %Arc% u -m3 -r -ep1 -dh "%~2\%~3" "%~1\*.*" Цитата из хелпа RAR
Ключ -DH — открывать совместно используемые файлы.
-------------------------------------------------------------------------------- Позволяет обрабатывать файлы, открытые для записи другими программами. Это опасный ключ, так как он разрешает архивировать те файлы, которые в тот же момент могут быть изменены другой программой. Если при этом будет нарушена внутренняя структура заархивированного файла, то программа для его обработки после распаковки такого файла может его не открыть. Используйте этот ключ очень осторожно! Цитата:
|
megaloman, Да объем баз действительно большой по этому пока и не отписываюсь о результатах, но уже заметил то ли проблему, то ли долгую работу.
1) Архив 1С создался и скопировался 2) Архив SQL баз создался но объем файла 0. Ждал 30 минут. Сейчас отменил задачу и удалил из папки D:\MSSQL\MSSQL\Backup\21_00 все файлы оставил только 1 для теста. Вот скрин окна на каком месте все висит:Файл 151136 строка @Echo Off убрана для теста P.S. Судя по всему имеет место быть зависание. прошло 10 минут а все так же и осталось вот скрин вместе с лог файлом Файл 151138 |
Цитата:
|
megaloman, Ура спустя 20 минут архив создался и скопировался. Но есть небольшой баг в лог файлах, а именно ломаный текст вот скидываю сами файлы.
1) Файл 151139 2) Файл 151140 Можно ли как то уменьшить лог и исправить текст? P.S. полный объем архивируемых баз SQL - 40 Гб а 1С - 5 Гб |
Цитата:
Скорее всего проще сделать перемещение. |
Цитата:
И вообще, минимум неприятностей при работе с cmd-файлами - сохранять их в 866 кодировке. Повторюсь, с батниками я работаю в FAR - для этих целей удобнее всего. RAR выдаёт кириллицу в 866 кодировке. Уменьшить лог - пожалуйста, можно убрать выдачу содержимого архива. Вот кусок с исправлениями. При запуске батника будет видна работа архиватора. Закомментирована выдача содержимого архива
Код:
:Backup |
megaloman, Огромное Вам спасибо за потраченное время. Очень Вам признателен и бесконечно благодарен. Если будет время а главное желание может попробуете сделать файл для 2 сервера. Или может это все можно объединить в 1 файл? (думаю что нет)
|
megaloman, Да конечно любой полет Вашей фантазии. Делайте как считаете нужным и правильным.
Просто изначально хотелось получить полноценный архив за неделю на сервере 1 и полноценный месячный архив на сервере 2 с возможностью восстановления на каждый месяц в течении года на 01 (начало месяца) 15 (середина месяца) и 30(31)(28-февраль) на конеч месяца. Ну и конечно основной архив на 31.12.2018 и т.д. что касается ухода за базой конечно вы правы просто я так же не занимаюсь обслуживанием 1С а только ее архивированием. Ну Log файлы бородатой давности и правда не к чему) |
Цитата:
Мысли вслух - дополнено
За базой ведь тоже надо ухаживать. Посмотрел распечатку содержимого архива 1С - там есть логи восьмилетней давности. Куча старых файлов .log (имхо, однозначно надо удалить, оставить штук 5 последних в каждой папке), .log.cfl (имхо, скорее всего тоже надо удалить, оставить штук 5 последних - я не спец по 1С) Это под силу тому же батнику, по сравнению с архивацией - ничтожное время
Заархивированные бэкапы SQL тоже надо удалять. Иначе получается эпидерсия. SQL у вас хранит 6 бэкапов. Условно 1,2,3,4,5,6 число. Вы их архивируете в архив update. В понедельник архива update уже нет. Зато получим новый бэкап за 7 число и 5 старых, то есть 2,3,4,5,6,7, которые попадут в update в понедельник, и, так как архивация будет работать всю неделю, в конце недели будут бэкапы 7,8,9,10,11, и в update поимеем заархивированные файлы 2,3,4,5,6,7,8,9,10,11 То есть архивы двукратно раздуты. Да у Вас с Вашим объёмом это кошмар. Вывод: Надо делать архивы SQL ежедневно с датой. Заархивированное удалять. |
Цитата:
1) Бекапить в 21:00 в папку D:\MSSQL\MSSQL\Backup\21_00 с удалением файлов старше 6 дней. (для себя, что бы можно было восстановить недельный бекап не разворачивая архив) 2) Бекапить в 21:30 в папку D:\MSSQL\MSSQL\Backup\Today c удалением файлов старше 1 дня. (для архивирования) Сам скрипт архивирования буду запускать в 22:00 |
megaloman, Добрый вечер. Простите не знаю как по имени. Наступила пятница и Ваш скрипт отработал, но не совсем так как надо:
1) на сервер 2 осталось 2 архива Backup(SQL)_update.rar и Backup(SQL)_дата.rar 2) В архиве Backup(SQL)_дата.rar оказалось 6 файлов а не 5 |
Вложений: 1
igor.kinma, Я не разбирался с этим скриптом, считаю, что это бесперспективно: изначально мне постановка не нравилась.
Вот новый скрипт
Код:
@Echo Off Откуда берём файлы для архивации Set "Sql_From=D:\MSSQL\MSSQL\Backup\21_00" Куда помещаем архивы rar на 1 сервере Set "Sql_Arc1=D:\ARHIV\SQL" Куда помещаем архивы rar на 2 сервере Set "Sql_Arc2=\\Server-domain\d$\ARHIV\Sql" Куда помещаем логи Set "Sql_Log=D:\ARHIV\Log" Куда помещаем лог если Sql_Log недоступен Set "Sql_Fat=D:\Fatal_Error_SQL_Bak" Ключи для работы RAR Set "Sql_AKey=u -m2 -ep1" При работе скрипта создадутся папки для хранения ежедневных, за каждый месяц 3 архива, за каждый год 2 архива. D:\ARHIV\SQL\Days D:\ARHIV\SQL\Month D:\ARHIV\SQL\Year Будет создана папка D:\MSSQL\MSSQL\Backup\21_00\SQLbak\ Туда будут перемещаться созданные MS SQL бэкапы, чтобы они повторно не архивировались. Число хранимых RAR-архивов на 1 и 2 сервере, SQL-бэкапов и день создания промежуточного архива за месяц rem Число хранимых архивов (можете изменить) Set /A NDays1=6 Set /A NMonth1=7 Set /A NDays2=14 Set /A NMonth2=10 rem Число сохраняемых SQL бэкапов Set /A NSQLbak=5 rem Дата промежуточного бэкапа за месяц Set /A Middle=15 Пробуйте. Сначала без планировщика. Не советую менять папки и маски файлов - мне будет трудно разобраться. У меня нет иллюзий, что я не делаю ошибок. У меня нет реальной системы. Отладку делал на искусственно созданной среде. К пятнице никак не привязываюсь - не вижу смысла. Хранится достаточное число архивов, чтобы восстановить нужное состояние. Папки руками не делайте - сами сделаются. |
megaloman, Решил не ждать до завтра запустил Ваш скрипт прямо сейчас. Время запуска 11.02.2018 (23:23). Итог:
Сервер 1: Создались папки ( D:\ARHIV\1C\Days, D:\ARHIV\1C\Month, D:\ARHIV\1C\Year) В них создались архивы: 1) D:\ARHIV\1C\Days\2018.02.11_1C_Backup 2) D:\ARHIV\1C\Month\2018.02.11_1C_Backup 3) D:\ARHIV\1C\Year\2018.02.11_1C_Backup Создался архив: D:\ARHIV\1C\Update_1C_Backup Создались папки (D:\ARHIV\SQL\Days, D:\ARHIV\SQL\Month, D:\ARHIV\SQL\Year) Архивы ни какие не создались! Папка: D:\MSSQL\MSSQL\Backup\21_00 В ней то же ни чего не создалось! Сервер 2: Создались папки ( \\Server-domain\d$\ARHIV\1C\Days, \\Server-domain\d$\ARHIV\1C\Month, \\Server-domain\d$\ARHIV\1C\Year) В них создались архивы: 1) ...\1C\Days\2018.02.11_1C_Backup 2) ...\1C\Month\2018.02.11_1C_Backup 3) ...\1C\Year\2018.02.11_1C_Backup Создались папки (...\SQL\Days, ...\SQL\Month, ...\SQL\Year) Архивы ни какие не создались! Высылаю лог файлы... Файл 151208 , Файл 151209 |
igor.kinma, rar error=10 Нет файлов, удовлетворяющих указанной маске, и параметров.
В папке "D:\MSSQL\MSSQL\Backup\21_00" ничего нет |
megaloman, Увы но к сожалению есть, но только во вложенных папках.
Наверное из за этого. Дело все в том что каждый бекап БД создается в папке с названием БД 1) База kin2017 хранится в D:\MSSQL\MSSQL\Backup\21_00\kin2017 2) База kin2018 Хранится в D:\MSSQL\MSSQL\Backup\21_00\kin2018 и т.д. P.S. Так устроен SQL. Он для каждой БД создает вложенную папку с её названием |
Цитата:
|
igor.kinma,
Быстрое решение.
Замените красную строку в предыдущем коде
Код:
FOR /F "usebackq delims=" %%d IN (`2^>nul Dir "%SQL_From%\*.*" /B /A:D`) DO ( Цитата:
|
megaloman, Доброе утро. Заменил строчку, запустил скрипт. Итог:
Сервер 1: Создалась папка D:\MSSQL\MSSQL\Backup\21_00\...\SQLbak В не переместились все файлы из D:\MSSQL\MSSQL\Backup\21_00\... Создались папки ( D:\ARHIV\1C\Days, D:\ARHIV\1C\Month, D:\ARHIV\1C\Year) В них создались архивы: 1) D:\ARHIV\1C\Days\ (нет архива) 2) D:\ARHIV\1C\Month\(нет архива) 3) D:\ARHIV\1C\Year\(нет архива) D:\ARHIV\1C\Update_1C_Backup.rar Создались папки ( D:\ARHIV\SQL\...\Days, D:\ARHIV\SQL\...\Month, D:\ARHIV\SQL\...\Year) В них создались архивы: 1) D:\ARHIV\SQL\...\Days\ (2018.02.12_SQL_Backup.rar) 2) D:\ARHIV\SQL\...\Month\(2018.02.12_SQL_Backup.rar) 3) D:\ARHIV\SQL\...\Year\(2018.02.12_SQL_Backup.rar) 4) D:\ARHIV\SQL\ (нет архива) Сервер 2: Создались папки ( \\Server-domain\d$\ARHIV\1C\Days, \\Server-domain\d$\ARHIV\1C\Month, \\Server-domain\d$\ARHIV\1C\Year) В них создались архивы: 1) \\Server-domain\d$\ARHIV\1C\Days\Пусто 2) \\Server-domain\d$\ARHIV\1C\Month\Пусто 3) \\Server-domain\d$\ARHIV\1C\Year\Пусто \\Server-domain\d$\ARHIV\1C то же пусто (тоесть Update_1C_Backup.rar не скопировался) Создались папки ( \\Server-domain\d$\ARHIV\SQL\...\Days, \\Server-domain\d$\ARHIV\SQL\...\Month, \\Server-domain\d$\ARHIV\SQL\...\Year) В них создались архивы: 1) \\Server-domain\d$\ARHIV\SQL\...\Days\ (2018.02.12_SQL_Backup.rar) 2) \\Server-domain\d$\ARHIV\SQ\...\Month\(2018.02.12_SQL_Backup.rar) 3) \\Server-domain\d$\ARHIV\SQ\...\Year\(2018.02.12_SQL_Backup.rar) \\Server-domain\d$\ARHIV\SQL (пусто) ... Заменены названия папок содержащие названия БД (kin2017, kin2018 и т.д.) Прикрепляю Лог: Файл 151217, Файл 151218 |
igor.kinma, 1. 1C. Народ работает, поэтому часть файлов заблокировано и полноценный архив не создан. ИМХО, это правильно, не надо неполноценный архив хранить, не надо тешить себя иллюзией, что полноценная копия есть.
Цитата:
Если сегодня вечером Вы снова запустите скрипт и если никто не будет держать файлы (RAR сделает нормальный архив), то получите нормальный результат. 2. SQL. По логу скрипт отработал нормально. Бэкапы на обоих серверах разложились правильно. Единственное, естественно, что реально заархивировались вчерашние бэкапы (точнее, там сейчас в каждом Rar-файле 5 бэкапов за неделю) в архив с сегодняшней датой. Если Вы сегодня вечером намерены запустить скрипт для архивирования сегодняшних бэкапов, хотелось бы, чтобы эти архивы старых бэкапов не перезаписались. Поэтому, переименуйте все 2018.02.12_SQL_Backup.rar в, например, 2018.02.09_SQL_Backup.rar. Чтобы не делать это ручками, вот скрипт Код:
@Echo Off Итак, ИМХО, полёт нормальный. |
megaloman, Большое спасибо. Запущу этот скрипт в Планировщик в 21:30 и понаблюдаю за работой. Если можно объясните пожалуйста что будет храниться в папках Days, Month и Year. И файлы из папки D:\MSSQL\MSSQL\Backup\21_00\...\SQLbak буду сами удаляться ?
|
что будет храниться в папках Days, Month и Year. И файлы из папки D:\MSSQL\MSSQL\Backup\21_00\...\SQLbak буду сами удаляться
Для каждой задачи своя процедура :Back_C1 :Back_SQL в которой есть некоторые настроечные параметры Days Ежедневные архивы. Число хранимых ежедневных архивов на 1 и втором серверах NDays1=6 и NDays2=14 Думайте сами сколько надо. Если надо, измените в соответствующей процедуре. Там есть пояснение. Month Три архива за месяц: первый и последний рабочий день, и за первый рабочий день на дату Middle=15 Число хранимых архивов за месяц на 1 и втором серверах NMonth1=7 (больше двух мес) и NMonth2=10 (больше квартала) Year Два архива в год, за первый и последний рабочие дни года. Автоматическое удаление старых архивов не предусмотрено. Файлы из папки D:\MSSQL\MSSQL\Backup\21_00\...\SQLbak буду сами удаляться Число сохраняемых SQL бэкапов NSQLbak=5 |
И так Уважаемый megaloman, Ваш скрипт работает с 12.02.2018. Что Мы имеем на 21.02.2018
На сервере 1: 1c 1) \\SERVER\D$\ARHIV\1C\Days\ лежат архивы с 13.02.2018 по 20.02.2018 2) \\SERVER\D$\ARHIV\1C\Month\ лежат архивы 2018.02.15_1C_Backup.rar и 2018.02.20_1C_Backup.rar 3) \\SERVER\D$\ARHIV\1C\Year\ лежат архивы 2018.02.19_1C_Backup.rar и 2018.02.20_1C_Backup.rar 4) \\SERVER\D$\ARHIV\1C\ лежит архив Update_1C_Backup.rar SQL 1)\\SERVER\D$\ARHIV\SQL\kin2017\Days\ лежат архивы с 13.02.2018 по 20.02.2018 2) \\SERVER\D$\ARHIV\SQL\kin2017\Month\ лежат архивы 2018.02.15_SQL_Backup.rar и 2018.02.20_SQL_Backup.rar 3) \\SERVER\D$\ARHIV\SQL\kin2017\Year\ лежат архивы 2018.02.19_SQL_Backup.rar и 2018.02.20_SQL_Backup.rar Log \\SERVER\D$\ARHIV\Log\ лежат логи с 2018.02.13 по 2018.02.20 На сервере 2: 1c 1) \\SERVER-DOMAIN\D$\ARHIV\1C\Days\ лежат архивы с 12.02.2018 по 20.02.2018 2) \\SERVER-DOMAIN\D$\ARHIV\1C\Month\ лежат архивы 2018.02.15_1C_Backup.rar и 2018.02.20_1C_Backup.rar 3) \\SERVER-DOMAIN\D$\ARHIV\1C\Year\ лежат архивы 2018.02.19_1C_Backup.rar и 2018.02.20_1C_Backup.rar SQL 1)\\SERVER-DOMAIN\D$\ARHIV\SQL\kin2017\Days\ лежат архивы с 12.02.2018 по 20.02.2018 2) \\SERVER-DOMAIN\D$\ARHIV\SQL\kin2017\Month\ лежат архивы 2018.02.15_SQL_Backup.rar и 2018.02.20_SQL_Backup.rar 3) \\SERVER-DOMAIN\D$\ARHIV\SQL\kin2017\Year\ лежат архивы 2018.02.19_SQL_Backup.rar и 2018.02.20_SQL_Backup.rar Вроде все хорошо но смущают архивы в папках Month и Year |
Время: 22:59. |
Время: 22:59.
© OSzone.net 2001-