Портал > База знаний > Резервное копирование > Простой Bash-скрипт для резервного копирования
Бэкап (от англ. backup — «резервная копия») — это резервная копия данных, которая содержит всю информацию о сайте\проекте и хранится на компьютере, сервере или в облачном хранилище. Эти данные нужны на случай, если что-то случится с основной версией. Восстановление бэкапа поможет, если ваш сайт атаковали вирусы: вернувшись к чистой резервной копии, вы избавитесь от вредителей. Это также выручит, если вы захотите отменить изменения или случайно что-то удалите.
Достаточно простой и удобный скрипт, позволит Вам создавать резервные копии файлов сайтов и баз данных из командной строки Linux.
nano /home/backup.sh#!/bin/bash tar -czvf /backup/www.$(date +%Y%m%d-%H%M%S).tar.gz /path/to/document_root find /backup/www/www* -mtime +10 -exec rm {} \; mysqldump -u root --opt -R my_database > /backup/my_database-$(date +%Y%m%d-%H%M%S).sql find /backup/my_database* -mtime +10 -exec rm {} \; exit 0
Вторая строка скрипта использует в качестве параметра путь к директории сайта, в данном примере "/path/to/document_root", после чего создает архивный файл, имя которого будет содержать текущую дату. Например, для архивирования другой директории, Вам необходимо будет изменить ее в скрипте. Также обратите внимание, что директория /backup должна существовать на сервере, крайне рекомендуется чтобы в неё было смонтировано внешнее, не зависящее от сервера, хранилище.
Третья и пятая строка скрипта отвечает за ротацию резервных копий, в данном примере копии старше 10 дней будут удаляться при запуске скрипта. Четвертая строка скрипта создает дамп базы данных, в данном примере "my_database" нужно будет изменить на имя Вашей базы данных.
Резервное копирование данных должно производиться тогда, когда эти данные не изменяются. В противном случае нельзя гарантировать сохранности этих данных. Желательно регулярно выполнять резервное копирование в часы минимальной нагрузки на систему. Обычно минимальная нагрузка имеет место в диапазоне от 2 часов ночи до 5 утра (в зависимости от специфики работы системы). Ставим еженочное выполнение скрипта на cron:
crontab -e
00 2 * * * bash /home/backup.sh > /dev/null 2>&1
В случае если в процессе возникнут трудности или вопросы вы всегда можете обратиться в службу технической поддержки support.by
Добавить в избранное Распечатать статью
Powered by WHMCompleteSolution