Дамп базы в бекапе и формат архива
22.12.2009Новая версия находится на финишной прямой. Сейчас доделываю/переделываю систему бекапов. В старой версии бекап генерировался в zip файл, и для файловой версии этого вполне достаточно. В новой версии с поддержкой бд появляется новый файл - дамп базы. Его нужно добавлять в бекап, но при этом не нужно сохранять в файл при восстановлении. То есть требуется зафиксировать имя и папку для дампа. Например можно файл назвать dump.sql и класть его в корень архива. Единственный минус такого решения это глупые/невнимательные пользователи, которые могут восстанавливать сайт прямым копированием файлов из архива. В таком случае есть большая вероятность, что дамп будет залить в корень сайта для всеобщего доступа. Ситуация гипотетическая, но вполне вероятная. Другой вариант поместить дамп в папку data, тогда дамп не будет доступен из вэба, но тогда придется искать этот файл в архиве. Поиск в архиве означает перебор абсолютно всех файлов, что лично мне делать не хочется.
Следующая неопределенность - формат архива. Сейчас это zip, который не сохраняет права на файлы. Удобство zip - это всеобщая доступность, так как zip могут просматривать все. Вариант в пользу tar хорош тем, что он сохраняет права, но при этом часть пользователей могут не распаковать архив, но это возможно даже и к лучшему - не смогут тогда вручную обратно заливать, и следовательно не наделают косяков.
Следующий вопрос - архив только с одним файлом дампа базы. Я добавил кнопку создать и скачать только дамп базы - ну мало ли, вдруг захотелось только иметь дамп, без остальных файлов. Для дампа права не нужны, и можно выбрать вообще отсутствия архива, только компрессию (файл с именем .sql.gz). Тогда для разруливания восстановления придется разруливать два формата - архив, и отсутствия архива, а только лишь один файл .sql.
Из недоделанного в новой версии это в админке управление комментариями, файлами. Также недоделан рсс (точнее я его просто еще не тестировал).
Комментарии (8) на запись “Дамп базы в бекапе и формат архива”
Оставить комментарий
Сейчас все переделал с zip на tar, поскольку последний сохраняет права, а поскольку девятьи з десяти проблем были связаны с правами на файлы, то это нормальный вариант.
Восстановление все из одной формы - по имени загружаемого файла определяю, является ли файл исключительно только дампом (по наличию .sql в имени)