Автоматизация бэкапа сайтов без базы данных методика автоматизации бэкапов сайтов на базе wget для Windows

Многие сайты работают без использования базы данных MySQL. В этом случае можно просто и удобно настроить их бэкапирование к себе на компьютер. Это может быть полезно не только из соображений безопасности, но и для того, чтобы нажатием одной кнопки создать локальную версию всего сайта у себя на машине. Впоследствии с ней можно делать что угодно - например взять с собой на дачу или в любой другой off-line.

Как всегда, я буду использовать только бесплатное ПО для платформы Windows.

Центральный инструмент всем известен и называется wget. Утилита позволяет загружать всякую всячину из Сети по HTTP, HTTPS и FTP протоколам. Консольные приложения хоть и сложны в настройке, зато всегда самые стабильные. Кроме того, CLI-интерфейс позволяет легко встроить бэкап сайта в мою существующую систему бэкапов, описанную в статье Параноидальный бэкап.

Обширная справка позволяет настроить wget как угодно, даже вырастить из него сетевого паука. Но я ограничился следующими директивами:

wget.exe ftp://finar.ru/* --no-host-directories --mirror --ftp-user=finar --ftp-password=***** 
-a X:\WEB\LOG_finarru.txt -P "X:\WEB\Finarru\%date:~6,4%-%date:~3,2%-%date:~0,2%" -c

Важные ключи:

  • --mirror - создает точную копию сайта, сохраняя не только файлы сайта, но и даты их создания и модификации; а также служебные файлы FTP-сервера, о существовании которых я раньше и не подозревал;
  • -a X:\WEB\LOG_finarru.txt - ведет лог операций;
  • -P "X:\WEB\Finarru\%date:~6,4%-%date:~3,2%-%date:~0,2%" - складывает все файлы в папку с текущей датой.

Эта команда создает точную копию сайта в папке WEB\Finarru\ бэкапного винта моего сервера. Чтобы обеспечить большую надежность, сохранить место и уменьшить число файлов, добавим операцию архивирования. Вместо платного Winrar, давайте лучше использовать свободный 7-zip.
Командная строка:

7za.exe a X:\WEB\Finarru\%date:~6,4%-%date:~3,2%-%date:~0,2% X:\WEB\Finarru\%date:~6,4%-%date:~3,2%-%date:~0,2%\*

просто архивирует созданную только что wget'ом папку. По желанию можно добавить информацию для восстановления и, вероятно, попросить 7-zip удалить исходник. Я вместо этого воспользовался встроенной командой Windows:

rd /S /Q X:\WEB\Finarru\%date:~6,4%-%date:~3,2%-%date:~0,2%

Все!
Приведенные команды можно объединить в .bat файл, ежедневный запуск которого создаст вот такую мирную картину:

Ночь - лучшее время для бэкапа :) Можно запланировать бэкапирование в nnCron (у меня на нем построена вся система бэкапов), можно - во встроенном планировщике Windows. Можно просто оставить ярлык на рабочем столе, чтобы запускать вручную.

Update 2011: методика несколько устарела: копирование всех-всех файлов по FTP - это не очень хорошая идея.

  1. во-первых, когда файлов сайта становится много тысяч, из-за ограничений протокола сильно раздувается служебная часть трафика;
  2. во-вторых, при FTP-передаче файлы могут теряться и ломаться, а высокая продолжительность процесса бэкапа увеличивает эту вероятность;
  3. в-третьих, некоторые хостинги имеют лимит на листинг файлов в одной директории;
  4. наконец, гораздо лучше сделать один архив на сервере, и его уже загрузить и удалить.

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

Блог

Поломка админки NetCat 4.7 в Google Chrome и Opera

В современных версиях Google Chrome и Opera, вышедших в прошлом месяце, админка CMS NetCat 4.7 и младше вдруг сломалась. Поломка проявляется в том, что в правой части админки перестала показываться нижняя панель редактирования (там, где кнопки Добавить и прочие), а скролл-прокрутка не осуществляется до конца. Работать с сайтом и добавлять новые материалы не представляется возможным.

далее

NetCat: техническая поддержка и доработка сайтов

Мы работаем с CMS NetCat уже больше 10 лет. У нас большой опыт и ответственный подход к делу.

далее

Права Доступа в Компонентах: работают не так, как ожидается; но можно накостылить патч

Если в настройках Раздела или Инфоблока NetCat попробовать дать доступ на изменение объекта ВСЕМ, ничего не получится. Просмотр и Добавление работают одним образом, а Изменение, Включение и Удаление -- другим.

далее

Как расставить запятые между тегами на CSS?

Иногда проще что-то сделать на чистом CSS, чем на серверной стороне. Например, расставить запятые между тегами. Попробуем разделить подчеркнутые теги-ссылки на чистом CSS.

далее

Весь блог тут