Я работаю на веб-сайте LAMP в Linux 10.0.4 LTS. Я начинающий системный администратор (хотя я и разработчик), и я ищу несколько советов о том, как лучше всего выполнить резервное копирование для моего сайта. Моя база данных - mySQL, и ВСЕ мои таблицы баз данных используют ядро базы данных InnoDb.
Вот требования к резервному копированию, которое я хочу реализовать:
Включает в себя инкрементные и полные резервные копии базы данных mysql. Я хотел бы иметь ежечасные инкрементные резервные копии, а также ежедневные, еженедельные и ежемесячные резервные копии. Но я не понимаю, какой поворот использовать для этих различных наборов резервных данных, а также как ими управлять ( и что более важно, как восстановить базу данных из набора полных / инкрементных резервных копий за дату)
Я хотел бы сжать и зашифровать данные, чтобы я мог хранить их удаленно (Amazon S3)
Я хочу, чтобы это было полностью автоматизировано (т. Е. Выполнялось как задание cron).
Примечание: мой сервер «безголовый» в том смысле, что на нем не установлено X Window или другой графический интерфейс, поэтому я думаю о создании резервной копии с помощью скрипта bash. В качестве альтернативы, если есть программное обеспечение, которое может помочь мне выполнить резервное копирование такого типа, тогда его нужно запускать из командной строки.
Элементы, которые мне нужны для резервного копирования:
- база данных mysql
- файлы сайта (в указанной папке. В идеале я хотел бы оставить некоторые файлы, которые автоматически генерируются)
- конфигурационные файлы
- файлы разных данных в разных папках
Вот мои вопросы:
Существует ли какое-либо программное обеспечение, которое я могу использовать для этого, или мне нужно написать свое собственное (скрипт bash)?
Какую стратегию резервного копирования рекомендуется использовать (с точки зрения того, что выполняется ежечасно, ежедневно, еженедельно и т.д.) И как восстановить сайт с определенного момента времени?
Если мне придется написать свой собственный сценарий bash (также будучи новичком в bash-сценариях), я буду благодарен, если кто-нибудь сможет предоставить скелетный сценарий, который поможет мне начать.