Как организовать удобное и простое (Files ZIP+MySQL Dump) автоматическое резервное копирование на сервере?
Имеется веб-сервер на Linux с Parallels Plesk Panel. В панеле есть резервное копирование, но оно слишком сложное, работает медленно, и хранит файлы на сервере по куче непонятных папок кусками.
Подскажите как настроить автоматическое простое резервное копирование на сервере (видимо по SSH и через какие то shell скрипты/конфиги) которое будет работать следующим образом:
1) Делает MySQL дамп ВСЕХ баз данных на локальном сервере и пакует их в ZIP (или TAR/GZIP, что быстрее работает) архивы в папку /backup/текущая_дата/mysql/ . Каждая база данных - отдельный архив с ее именем.
2) Пакует в ZIP archive (или TAR/GZIP, что быстрее работает) все поддиректории с файлами в главном каталоге где находятся файлы сайтов ( /var/www/vhosts/domain.com/ ), КРОМЕ папок error_docs, logs и httpdocs) в в папку /backup/текущая_дата/www/ . Каждая папка в главном каталоге (это домены) - отдельный архив.
3) Запаковка архивов не должна нагружать сервер (и замедлять работу сайтов на нем во время выполнения), степень сжатия файлов не так важна, главное чтобы работало быстро и без нагрузки
4) Бекап выполняется каждую неделю в указанное время (например в субботу в 00:00) и возможен запуск вручную командой
5) Отправляет мне email, что backup закончен с логом (какие архивы были созданы и их вес, время исполнения)
Подскажите как все это организовать? (как я понимаю нужен простенький скрипт). Спасибо!
К сожалению я на "вы" с Linux и консолью, так что нужно объяснение:
1) Как этот скрипт добавить в авто выполнение и как запускать вручную по SSH
2) Если сервер localhost, так и указывать в серверах?
3) Как настроить привелигии?
4) Нужно чтобы отправлял email
5) Ну и скрипт выполняет лишь половину работы (БД) из той, что мне нужно
1. первая строка показывает место и имя скрипта. В данном случае видно, что скрипт расположен в каталоге /etc/cron.daily и называется backup_db.sh
Если обратиться к документации - становится понятно, что содержимое этого каталога запускается кроном раз в сутки
2.как сервер называется, так и указываем в списке серверов. Количество серверов не ограничено, можно один, можно несколько
3. обратитесь в документацию
4. вывод всех скриптов, запускаемых кроном отправляется на мыло пользователю, от чьего имени запущен скрипт. В данном случае root
5. Может вам этот вопрос перенести на биржу фрилансеров? или найдите человека, который вам все сделает
для бекапа всех баз данных пользователю достаточно иметь следующие привилегии:
SELECT, RELOAD, SHOW DATABASES, SUPER, LOCK TABLES
на уровне сервера, указывать права доступа для конкретных баз не надо