HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > РАЗРАБОТКА > Для Администратора > Windows
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 06.09.2015, 18:28
Robbert
Познающий
Регистрация: 10.02.2015
Сообщений: 41
С нами: 5922734

Репутация: 0
По умолчанию

Обидеть не хотел. Хотел помочь.

Цитата:

Denixxx написал(а):

И при этом архивирование редко дает хороший результат — базы обычно слабо ужимаются, они уже хранятся сжатыми.

СУБД не сжимают данные внутри базы во время работы. Для экономии времени доступа к данным. Дампы SQL баз ужимаются со множителем от 8 до 10 в зависимости от архиватора и бинов в таблицах(извращение). Архивирование даёт очень хороший результат. Единственно надо помнить что свободного места на сервере должно быть 2-3 объёма не сжатой базы.

Бесплатное ПО под Windows
Bakula
 
Ответить с цитированием

  #12  
Старый 07.10.2015, 21:07
elintor
Познающий
Регистрация: 29.09.2015
Сообщений: 50
С нами: 5591176

Репутация: 0
По умолчанию

Не знаю будет ли корректно, и надеюсь не сочтут за рекламу, но я для подобных целей использую: xStarter
Удобно, бесплатно, не требует навыков программирования для легких задач.
 
Ответить с цитированием

  #13  
Старый 12.12.2015, 22:09
smskz
Новичок
Регистрация: 30.05.2013
Сообщений: 20
С нами: 6817578

Репутация: 0
По умолчанию

Использую, старый, но проверенный nnBackup. Помимо простого копирования, делает архивы gz или zip. Если задачи посложнее то nncron, с плагинами, плюс понимает cron-формат (Linux), да и встроенный язык скриптов очень прост. И то и другое бесплатно для граждан стран бывшего СССР при условии частного и некоммерческого использования.
 
Ответить с цитированием

  #14  
Старый 16.12.2015, 13:49
mad_boy
Новичок
Регистрация: 24.12.2012
Сообщений: 8
С нами: 7043198

Репутация: 0
По умолчанию

В свое время писал вот такой скрипт. Умеет сканировать папку и вложенные в нее по маске, архивировать с указанным типом сжатия (нужно положить в папку со скриптом 7za.exe), прореживать архивы с указанной глубиной.
Кроме этого, пишет логи, есть режим отладки. Авось пригодится кому

Для просмотра скрытого содержимого необходимо иметь 20 сообщений, у вас 0 сообщений.
 
Ответить с цитированием

  #15  
Старый 16.12.2015, 14:35
Denixxx
Участник форума
Регистрация: 07.02.2014
Сообщений: 244
С нами: 6452658

Репутация: 0
По умолчанию

mad_boy, спасибо за скрипт
Я, пожалуй, даже откажусь от первоначального бат-файла и лучше доработаю как VBScript, ибо это труъ
Пару замечаний таки есть.
Цитата:

' Количество дней в течение которых архивы считаются актуальными

Как бы лучше иметь стабильное количество архивов, а не ограничение по дате
Позволяет контролировать место на ж. диске.
И я не заметил такой проверки — если сегодня архив есть, то «давай до свиданья».
Это так или плохо смотрел?
Вот ситуация из жизни: в целевой папке 2 файла по 1Гб, на диске места 60Гб, архивы хранятся до 30шт. Архив весит 1,7 Гб. Если комп перезагрузят пару раз в течение 5 дней, то кончится место.
И потом, что будет, если мы пойдем в отпуск и не запустим скрипт в течение 7 дней?
По возвращении из отпуска первое включение сотрет все архивы.
 
Ответить с цитированием

  #16  
Старый 16.12.2015, 18:35
mad_boy
Новичок
Регистрация: 24.12.2012
Сообщений: 8
С нами: 7043198

Репутация: 0
По умолчанию

Есть такое дело, да. Не обратил внимание потому, что писал для себя, под готовую модель
Спасибо за замечание, так и пришлось лезть и переписывать полскрипта
В итоге переделал алгоритм сканирования, попутно еще пару ошибок, добавил константу с минимальным количеством бэкапов в папке.

Для просмотра скрытого содержимого необходимо иметь 20 сообщений, у вас 0 сообщений.
 
Ответить с цитированием

  #17  
Старый 16.12.2015, 19:23
Denixxx
Участник форума
Регистрация: 07.02.2014
Сообщений: 244
С нами: 6452658

Репутация: 0
По умолчанию

Немного, если позволите, замечаний по уже готовому.
1. Переменная Error — не попадет ли в пространство системных имен VbScript?
2. Что за расширение у файла сейчас? Мне кажется, оно норм. работало с расширением .vbs и без

Код:


Код:

3. Зачем DaysExpired? Мы ведь уже обсуждали, и Вы как бы согласились, что актуальность архивов не совсем правильно проверять по дате.
Дата нужна только, чтобы проверить, существует ли сегодняшний архив и если уже есть — выйти и ничего не делать.
Я в другом скрипте делал уник. имя файла архива типа backup_20151216.zip
И в начале скрипта проверял, «файл есть? — ничего не делаем»

Хочу ещё спросить, Вы не хотите код кому-то показывать и потому скрываете под хайдом?
 
Ответить с цитированием

  #18  
Старый 16.12.2015, 23:04
mad_boy
Новичок
Регистрация: 24.12.2012
Сообщений: 8
С нами: 7043198

Репутация: 0
По умолчанию

На данный момент скрипт в wsf. Ну и хочу напомнить, что скрипт писал по большой нужде, когда в один момент закончилось место на одном из сервером и бекапы некоторое время вообще не делались. Потому все доведено до состояния "чтобы работало" и в таком виде существовало до сегодняшнего дня
В vbs вроде Err, нет?
А DaysExpired для меня необходимо так же, как и раньше. Потому что нужно не просто оставить некоторое количество бекапов, а и именно последних из созданных. В принципе да, можно выполнить оба условия с одной переменной, но в моем варианте некая расширенная версия выходит. Хотя я не против, если кто-то уберёт её у себя. К тому же парк серверов у меня большой и много где бекапы пишутся с уже определенной маской, потому делал скрипт наиболее универсальным.
Ну а хайд больше из дани ресурсу
Я вот с 12 года читаю, а как понадобился скрипт - ограничение. Решил не просто набить сообщения, а как-то поучаствовать. Может и моё ограничение кого сподвигнет.
 
Ответить с цитированием

  #19  
Старый 17.12.2015, 11:41
Denixxx
Участник форума
Регистрация: 07.02.2014
Сообщений: 244
С нами: 6452658

Репутация: 0
По умолчанию

Цитата:

mad_boy написал(а):

Я вот с 12 года читаю, а как понадобился скрипт - ограничение. Решил не просто набить сообщения, а как-то поучаствовать. Может и моё ограничение кого сподвигнет.

Понятно.
Цитата:

mad_boy написал(а):

На данный момент скрипт в wsf. Ну и хочу напомнить, что скрипт писал по большой нужде, когда в один момент закончилось место на одном из сервером и бекапы некоторое время вообще не делались. Потому все доведено до состояния "чтобы работало" и в таком виде существовало до сегодняшнего дня
В vbs вроде Err, нет?

Я всё писал изначально в vbs
wsf это изначальное желание Майкрософта скрестить ежа и черепаху, чтобы в 1 файле обрабатывались любые языки, установленные в системе.
Удалите теги package, job, script в начале и конце файла и смело сохраняйте в vbs, раз не используете другие языки.
Попробовал последнюю версию скрипта, натравив на обычную папку.
Цитата:

Const PathName="D:\test\backup\" ' Путь к папке с архивами
Const PathLog="D:\test\log\" ' Путь к папке размещение log-файлов

Результат.
1. Лог записался со всеми подробностями.
2. В изначальной папке исчезло половину файлов.
В логах на этот счёт прокомментировано:
Цитата:

17.12.2015 9:24:23 > Expired file 6.png finded. Type of Рисунок PNG. Removing. Files count 14, minimum 2

Выставление Const MinFiles=200 сохранило файлы от «прореживания». Я думаю такой функционал лучше вообще отключать.
3. Сам бекап сохранился неизвестно куда. Похоже, сработал контроль учётных записей пользователей и не дал запуститься 7za
В логах об этом ни слова, переключение в режим отладки не выбрасывает никаких окон.

Впечатления:
1. Использование дополнительного функционала 7za при легком сжатии не оправдано. Есть же изначальный формат zip
Да и вообще вряд ли оправдано применение сторонних файлов, если разница в сжатии менее 15%.
2. Для ежедневного архивирования 7za проще написать 1 строчку в планировщике, чем юзать vbs
Пример http://habrahabr.ru/post/72636/
3. Поскольку куда делся архив неизвестно, то и как происходит ротация архивов неизвестно тоже.
Я бы тупо сохранял последние 10-30 архивов и всё. А ежедневно проверял — сегодня архив если есть, то не сохраняем.
4. Порадовало помесячное сохранение логов, я до этого не додумался. У меня было ежедневное.
5. Судя по логам, оно опять архивирует, если даже есть уже сегодня архив.
 
Ответить с цитированием

  #20  
Старый 17.12.2015, 12:03
mad_boy
Новичок
Регистрация: 24.12.2012
Сообщений: 8
С нами: 7043198

Репутация: 0
По умолчанию

Цитата:

Denixxx написал(а):

Удалите теги package, job, script в начале и конце файла и смело сохраняйте в vbs, раз не используете другие языки.

Я в курсе, спасибо. Вот только время от времени приходится скрещивать ежа и черепаху, потому использую этот формат.
Цитата:

Denixxx написал(а):

Сам бекап сохранился неизвестно куда.

Вы, наверное, не совсем поняли алгоритм работы. В последней версии я его изменил его достаточно сильно.
Суть работы программы в том, что сначала она сканирует папку на устаревшие файлы по дате (ведь скрипт мог по какой-то причине не запускаться долгое время, либо запущен в первый раз) и удаляет те, которые попадают под условия, однако, проверяя минимальное количество нужных архивов. Причем удаляются и не запакованные архивы, дабы не тратить время на их упаковку и последующее удаление (у меня одна база порядка 30Гб), и, судя по-всему, у Вас файлы попросту удалились, т.к. считались устаревшими, а контроль учетных записей тут ни при чем. Только после этого запускается архивирования оставшихся актуальных архивов. При архивировании пропускается свежий архив, возраст которого не более суток, т.к. в моем случае все сервисные задачи на серверах запускаются ночью, а бекап баз MSSQL может продолжаться довольно длительное время и не исключено, что при запуске скрипта файл еще будет занят процессом.
Цитата:

Denixxx написал(а):

Использование дополнительного функционала 7za при легком сжатии не оправдано.

Степень сжатия устанавливается константой в начале скрипта. И выбран он опять же из целей универсальности и автономности программы.

Ну и, собственно, тоже натравил скрипт на тестовую папку, все отработало так, как необходимо:
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.