![]() |
Модераторы: bartram, Akella |
![]() ![]() ![]() |
|
fridkaratel |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 221 Регистрация: 22.10.2007 Где: Error connect to MySQL Da... Репутация: нет Всего: нет |
Возник такой вопрос касаемо резервного копирования.
Изучение материалов в интернете, программ и документаций не привело к тому, что хотелось бы сделать. Всё не то... или не так.. Суть задачи: 1. Имеются папки с файлами, например, C:\Documents; C:\Letters и т.п. 2. Необходимо, скажем, каждый день в 00:00 проверять, есть ли изменения в папках - смотреть, судя по всему, по датам изменения файлов 3. Если изменения есть, то паковать в архив WinRAR с макс. сжатием 4. Созданный архив перемещать в папку на сетевом диске. Так как имеются два компьютера, то структура папок на сетевом диске такая:
То есть, чтобы сохранялись все пути согласно расположению на локальном компьютере. Здесь USER-PC и NOTEBOOK-PC - это имя компьютера; S:\ - сетевой диск с полным доступом чтения/записи. Плюсы bat-файла: 1. Удобное и быстрое редактирование 2. Не нужно ничего устанавливать из стороннего ПО 3. Запуск по расписанию встроен в Windows 7 4*.Бэкап БД можно сделать также через запрос по http к Sypex Dumper'у. Минусы bat-файла: 1. Довольно сложно писать что-то более "разумное" 2. Слишком много "букав" ![]() 3. Не всё можно сделать средствами bat-файла, зачастую приходится очень извращаться 4. Вообще, написание чего-то сложного в bat-файле - это написание костылей... ![]() Что касается специализированного софта, то: 1. Может быть я не нашёл ещё такого софта, что выполняет эти задачи 2. В основном, попадались или программы для полного копирования диска, или же мелкие типа "скопировать из одного места в другое в заданное время" 3. Нельзя указать, что если есть изменения - делай копию всей папки, если изменений нет - не делай копию. 4. Как написал выше, всё не то... ![]() 5. Не везде есть поддержка бэкапа базы данных MySQL P.S.: Приведу пример, для чего это необходимо... Имеется локальный веб-сервер, на котором в сети держатся порядка 10ти сайтов и сервисов. Например, сегодня я решил улучшить один из сайтов, внёс изменения, поправил картинки/скрипты и т.п. Ночью, когда все спят и никаких изменений не производится, надо сделать резервную копию всей папки с этим сайтом, а не только изменённых файлов. В остальных 9ти никаких изменений не произошло, соответственно резервные копии смысла делать нет. Это сообщение отредактировал(а) fridkaratel - 5.5.2011, 11:32 |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 73 Всего: 329 |
Ну и.... на каком шаге ошибка?
|
|||
|
||||
mihanik |
|
|||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 61 Всего: 109 |
Есть ОЧЕНЬ ХОРОШАЯ встроенная утилита.
NTBACKUP называется. Почитай описалово. Я бы использовал именно её. |
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: 1 Всего: 31 |
из той "сути", что ты описал, всё вполне выполнимо в рамках батника.
запости батник и какие ошибки он выдаёт. |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 73 Всего: 329 |
||||
|
||||
fridkaratel |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 221 Регистрация: 22.10.2007 Где: Error connect to MySQL Da... Репутация: нет Всего: нет |
По-порядку...
![]() 1. Мне не надо копировать только изменившиеся - мне надо копировать ВСЮ папку со всеми подпапками и файлами, если в этой папке имеется хотя бы один изменившийся или добавленный файл... 2. Должна быть возможность исключить часть файлов из обработки как по расширению, так и по названию папки... Например, есть резервные копии IDE, той же Aptana Studio или же кэш тысяч страниц, чтобы не запрашивать каждый раз БД... Понятное дело, что кэш я могу, если понадобится, сделать заново - зачем мне его хранить в резервной копии ![]() 3. В BAT-файле проблемно пробежаться по всем файлам, да и вообще работать с подстроками, выделением чисел из текста и т.п. Из-за этого сложности создать тот путь, который я описал в начале топика. 4. Я больше склоняюсь к BAT-файлу, но у него нет интерфейса, что не есть гуд... Более того, отслеживание ошибок, процесса выполнения (например, упаковки архива) и т.п. - это трудный процесс, потому что в BAT-файл не заложено таких возможностей, а, следовательно, надо делать "на костылях"... Я вообще думал, написать Adobe AIR приложение на JavaScript'е... ![]() 5. Не приемлим вариант создания бэкапа в какой-то собственный формат программы... Лучше вообще в ZIP паковать - и кроссплатформенно, и не зависит от установленных на компьютере программ... 6. Ошибок никаких нет... Я писал BAT-файл, пытался что-то вразумительное сделать, но потом удалил его... Намучился и не сдержался ![]()
Проблемы: 1. У меня есть папки, в которых несколько Гб информации... Соответственно, если сначала упаковывать с макс. сжатием, а потом проверять, есть ли изменения - это как-то глупо ![]() 2. Сложновато отлавливать ошибки... Если бы было try...catch, то другое дело, а так... Даже и сверить-то нечего... Вот возникнет ошибка при обработке WinRAR'ом, например, файл открыт будет (например, .htaccess или .error_log на веб-сервере)... 3. Не видно процесса упаковки/хода выполнения... Конечно, это можно сделать, но там опять же... ну не предназначет BAT для такого ![]() Поэтому я и думал, что может кто видел или пользуется программами, которые могут мне подойти... При старте топика я описал ситуацию, в которой мне нужен бэкап... Чтобы в случае чего можно было не восстановить какие-то файлы из резервной копии, а откатиться целиком на ту версию сайта, которая была, скажем, месяц назад... Во-от ![]() Это сообщение отредактировал(а) fridkaratel - 6.5.2011, 14:34 |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 73 Всего: 329 |
Зачем в bat файле FOR?
|
|||
|
||||
fridkaratel |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 221 Регистрация: 22.10.2007 Где: Error connect to MySQL Da... Репутация: нет Всего: нет |
Чтобы упаковать каждую папку в отдельный архив и уложить в отдельные папки в бэкапе... ![]() |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 73 Всего: 329 |
А что, в один архив нельзя? Зачем каждую папку в отдельный архив %)
Может вообще можно без упаковки? |
|||
|
||||
fridkaratel |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 221 Регистрация: 22.10.2007 Где: Error connect to MySQL Da... Репутация: нет Всего: нет |
Ну, во-первых, изменения могут быть только в одной из трёх (в одной из N) папок... А, во-вторых, упаковка нужна ввиду того, что там может быть 10 000 файлов весом по 1-4 Кб... А то и меньше, соответственно, расход HDD на 2 Tb для резервных копий будет неразумным... Например, кластер размером в 16 Кб. Ну и... мне не нужен быстрый доступ к резервным копиям, и в случае чего их можно быстро скопировать на другой жёсткий. Думаю, не стоит объяснять, почему 10 000 файлов по 1 кб будут копироваться в несколько раз медленнее, чем 1 файл в 10 Мб ![]() |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 73 Всего: 329 |
Копируй всё в один архив без FOR. Winrar это умеет.
|
|||
|
||||
fridkaratel |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 221 Регистрация: 22.10.2007 Где: Error connect to MySQL Da... Репутация: нет Всего: нет |
Зачем мне один архив? Я же написал, что мне не нужен "дутый" архив со всеми папками и файлами - мне нужен только архив одной папки...
Хорошо, по-другому попробую... ![]() У меня есть N проектов... Сегодня я занимаюсь одним из них... И мне надо в автоматическом режиме сделать копию этого проекта - упаковать в архив и закинуть на сетевой диск с соблюдением вложенности папок, как на моём компьютере. Остальные проекты я сегодня не трогал, поэтому и копии делать с них не надо, разумно ведь... ![]() Завтра я доделал этот проект и занялся новым. Внёс в него изменения, что-то подправил, что-то удалил... И должна быть резервная копия этого проекта за текущей датой. С остальных проектов резервную копию делать не надо... Вот, это я считаю умной резервной копией... Чтобы не плодить кучу-кучу копий или тупо одним куском делать резервную копию всего HDD... У меня 4 HDD, и файлы лежат на разных диска - делать копии всех дисков? ![]() По теме кто-нибудь может посоветовать что-нибудь дельное, может, куда ещё запостить? Так сказать, в более "специфический" раздел или форум...? |
|||
|
||||
01MDM |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 273 Регистрация: 10.5.2008 Где: Default City Репутация: 29 Всего: 29 |
fridkaratel,
А просто xcopy не подойдет? Я для бэкапа данных на внешнем HDD создал копию рабочей папки и просто запускаю:
Добавляются новые файлы, перезаписываются измененные, а старые, даже если они удалены из рабочей папки ( d:\files ), то они все равно остаются на g:\files. Для резервного архивирования можно и не создавать зеркальной папки, но тогда необходимо явно указать контрольную дату для сверки изменений. Например где-то так:
Т.е. здесь будут архивированы и отправлены на сетевой диск только файлы ( с сохранением структуры ), которые изменены начиная с даты указанной в ключе /d:m-d-y ( в примере выше я взял текущую дату ) Это сообщение отредактировал(а) 01MDM - 7.5.2011, 07:39 -------------------- Вопросы в личке останутся без ответов. |
||||
|
|||||
MelkorLiGray |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 24.9.2008 Где: Sarat - OFF Репутация: 2 Всего: 4 |
Всем привет, а у меня несколько другой вопрос. Не такой масштабный и не такой заковыристый. Конечно, как и всем - хочется щелк-щелк - готова, берем с полки пирожок. но для начала, мне нужно вот что:
Что бы вот в этом бат-фаиле автоматически вводился логин и пароль. А то он при запуске просит его ввести. Вот:
ДА, я уже гуглил и продолжаю гуглить - ничего пока не понимаю, в том, что нахожу. Да, для понимания того, что нахлжу неплохо бы почитать справку ,и всякие ресурсы учащие писать bat файлы. НО, мне пока нужно тупо вписать пару строк, а далее я уже, возможно займусь изучением написания этих штуковин, что бы доточить что там надобно.. --------------------
Капля никотина убивает 5 минут рабочего времени. . .Недожег или пережег - Нарушение режима отжига!Я не волшебник, Я ТОЛЬКО УЧУСЬ! БЛИН! |
|||
|
||||
kin |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 9.5.2008 Репутация: 1 Всего: 6 |
Привет!
Господа, зачем придумывать велосипед. fridkaratel, mihanik уже писал вам, что для вашей задачи подойдет NTBACKUP. Если я Вас правильно понял, вся проблема заключается в определении "изменялся/не изменялся". Так вот, Вы забыли про атрибуты объектов файловой системы, а в частности атрибут "архивный". Если вы почитаете описание NTBACKUP и поймете, как она работает, то сразу решите свою проблему, а если чуть-чуть пошаманите с ключами и опциями архиватора (если оно Вам нужно), то поймете, что ваша проблема превращается в ничто |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Windows" | |
|
Запрещается! 1. Обсуждать взлом и делиться кряками 2. Способствовать созданию и распространению вирусов
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, bartram, Akella. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS Windows | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |