Пакуем «всё нажитое непосильным трудом» в чемоданы

В предыдущей статье я рассказал как сделать резервную копию базы данных сайта (или любой другой базы данных на движке MySQL). А в этой расскажу как сохранить каталог (папку) самого сайта, другими словами шаблонов, настроек и всего того, что составляет сайт, но не является его наполнением (наполнение содержится в базе данных).

В общем перейдём к делу. В этой затее мне потребуется старый добрый архиватор tar, который в общем-то входит в каждый дистрибутив Linux и обычно у хостинг-провайдеров он доступен. Для своей затеи я использовал такую конструкцию:

tar czf <name.tar.gz> <name_dir>

Сделаю ещё одно небольшое отвлечение: на самом деле я использовал здесь не просто архиватор tar, а симбиоз двух архиваторов tar и gzip. Последний тоже очень распространён и скорее всего у вашего хостинг-провайдера он тоже доступен.

Вернёмся, как говорится, к нашим баранам. Должен ещё упомянуть, что в Linux во многих командах разрешена сокращённая форма записи, в которой опции команды пишутся просто одна за другой без пробелов и без использования знака «-» (т.е. запись tar czf эквивалентна записи tar -c -z -f). Далее буду указывать обе формы. Всё хватит ремарок расскажу о самой команде, точнее о её ключах:

  • Ключ c или -c означает «создать архив». Тут, я думаю, понятно.
  • Ключ z или -z означает, что в данной операции нужно использовать сжатие архиватора gzip (тот самый симбиоз о котором я упомянул ранее). Это нужно для того, чтобы уменьшить размер файла резервной копии.
  • Ну и последний использованный мною ключ это f или -f который означает, что будет создан архив имя которого следует сразу же за ключом (в нашем случае это <name.tar.gz>).
  • <name.tar.gz> — как я только, что упомянул это имя архива в который будет закована резервная копия нашего сайта. Столь скрупулёзное написание обоих расширений в конце файла это просто правило хорошего тона и не более. архиватор tar своё расширение добавляет автоматом, а вот gzip увы нет (он наверное просто лентяй), но для узнаваемости файлы именуют именно так, ну и я не отступал от этого правила. Ещё должен сказать (просто для справки), что на выходе на самом деле получается двойной архив с начало созданный tar-ом а потом пожатый gzip-ом.
  • И наконец <name_dir> это всё то, что нужно поместить в архив. Я обычно тут пишу просто имя поддиректории для директории запуска команды которую мне необходимо поместить в архив. Например всем хорошо знакомый public_html.

Должен ещё заметить, что во многих источниках ко всем этим ключам ещё часто добавляют ключ v или -v который означает, что необходимо поместить в архив не только все файлы, но и все директории (т.е. полное сохранение всей файловой структуры архивируемой поддиректории). Но у меня всё и так работает потому я просто не стал упоминать этот ключ в команде а просто сделал эту сноску.

Ну вот собственно и всё, что касается архивации каталога сайта.

Упомяну ещё команду распаковки архива созданного описанным методом. Она выглядит так:

tar xzf <name.tar.gz>

Она отличается от команды создания архива только ключом x или -x который и означает, что архив нужно не создать, а распаковать. И в случае распаковки архива достаточно указать лишь имя файла-архива, а <name_dir> указывать не обязательно, тогда всё произойдёт в директории запуска данной команды, т.е. в ней появится всё содержимое нашего архива с сохранением всей файловой структуры.

Вот собственно и вся премудрость.

Запись опубликована в рубрике Linux с метками , , . Добавьте в закладки постоянную ссылку.

Добавить комментарий