Скрипт для создания резервных копий файлов и базы.

20.12.2012 20:40:31
Shell скрипт демонстрирующий с использование mysqldump и zip для бэкапа сайта.

Все довольно просто, но есть несколько подводных камней, начнем по очереди:

  1. Создаем файл, например backup.sh и заливаем его на сервер. Если Вы работаете в OS Windows, то в редакторе нужно изменить формат переноса строк с windows на unix (если редактор этого не позволяет, то лучше выбрать другой редактор или работать с файлом сразу на сервере)

  2. Предположим, что сайт лежит в директории /webserver/www , а скрипт мы разместили в /webserver/

  3. Создаем папку для бэкапа /webserver/_BackUp

  4. Конечный вид скрипта

    1
    2
    3
    4
    5
    #!/bin/sh
    
    zip -r _BackUps/www www
    
    mysqldump -uroot -hlocalhost -p123 -B db_name > _BackUps/db_name.sql

  5. Разберем оп очереди

    1. #!/bin/sh – путь до интерпретатора, его можно узнать выполнив команду  which sh

    2. zip -r _BackUps/www www  - создаем архив из всего содержимого папки www включая подпапки.

    3. mysqldump -uroot -hlocalhost -p123 -B db_name > _BackUps/db_name.sql – создаем дамп базы.
      Более общий вид этой строчки:

      mysqldump -uUser -hHost -pPass -B db_name > _BackUps/db_name.sql

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

    chmod +x backup.sh

  7. Запускаем, тут есть одна особенность , непривычная для пользователей windows, нужно не просто написать в консоле backup.sh, обязательно нужно соблюсти такой синтаксис

    ./backup.sh


Категории: Linux
Яндекс.Метрика