---
title: 'Выполнение бекапов сайта и  базы данных скриптом | Zomro'
description: 'Выполнение регулярных бекапов веб-сайта или базы данных (БД) является важной практикой для обеспечения безопасности и сохранности данных.'
image: 'https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/vitaliy.darmoroz%40zomro.org/2023/06/16/image-20230616175529-2.jpg'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [FAQ](https://zomro.com/rus/blog/faq/)
  * Выполнение бекапов сайта и базы данных скриптом 



# Выполнение бекапов сайта и базы данных скриптом

16-06-2023

Выполнение на Linux серверах регулярных бекапов веб-сайта или базы данных (БД) является важной практикой для обеспечения безопасности и сохранности данных. Вот несколько основных причин, почему необходимо выполнять бекапы с использованием скриптов:

1\. Сбои и ситуации аварийного восстановления: Веб-сайты и БД могут столкнуться с различными проблемами, такими как сбои сервера, атаки злоумышленников, ошибки разработчика или случайное удаление данных. Регулярное создание бекапов позволяет восстанавливать данные и веб-сайт до момента возникновения проблемы.

2\. Защита от потери данных: Бекапы являются гарантией сохранности данных в случае их удаления, повреждения или утраты. Если веб-сайт или БД содержат важную информацию, такую как пользовательские данные, заказы, контент или настройки, резервное копирование помогает минимизировать потери и восстановить работоспособность.

3\. Тестирование и разработка: Бекапы данных могут использоваться в целях тестирования и разработки. Они позволяют создавать копии рабочей среды для проверки новых функций, исправлений ошибок или экспериментов без риска потери реальных данных.

4\. Миграция на новый хостинг: При переносе веб-сайта на новый хостинг или изменении серверной инфраструктуры бекапы помогают сохранить данные и перенести их на новую платформу.

5\. Соответствие правилам безопасности: В некоторых отраслях, таких как финансы или медицина, существуют правила и нормативные акты, требующие создания и хранения резервных копий для обеспечения безопасности данных. Выполнение бекапов с использованием скриптов позволяет легко автоматизировать этот процесс и следовать соответствующим требованиям.

6\. Восстановление после человеческих ошибок: Иногда удаление или изменение данных может быть результатом непреднамеренных человеческих ошибок. Бекапы позволяют вернуть данные к предыдущему состоянию и откатиться к более стабильной версии.

Выполнение бекапов с использованием скриптов позволяет автоматизировать и упростить этот процесс,

![Выполнение бекапов сайта и  базы данных скриптом - 1](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/vitaliy.darmoroz%40zomro.org/2023/06/16/image-20230616175529-2.jpg)

**Скрипт.**

Например Вам нужно выполнять перодически бекапы сайта на внешнее FTP-храпнилище. Можно использовать скрипт на Bash. Для использования данного скрипта и выполнения бекапов нужно что бы был установлен**wput.** Скрипт можно скачать с **GitHub.**
    
    
    Мы выполняем следующие действия:

Переходим в директорию /backup/sql. У нас есть специальная директория на нашем сервере, где мы сохраняем резервные копии нашей базы данных. Используя утилиту mysqldump, мы создаем резервную копию нашей базы данных DATABASE, с паролем для подклчюения PASS. Экспортируем содержимое базы данных с помощью команды mysqldump, а затем сжимаем его с максимальным уровнем сжатия -9 с помощью gzip. Результат сжатия мы сохраняем в файл с именем, содержащим текущую дату и расширением .gz. Затем мы выполняем команду wput, которая отправляет файл резервной копии нашей базы данных (date +sql-dump.%d%m%y.gz) по FTP на наш удаленный сервер. Используем FTP-соединение и указываем имя пользователя userXXXXXX, пароль PASS и IP-адрес сервера IP.

У нас также есть отдельная директория, где мы храним резервные копии файлов нашего веб-сайта. Переходим в директорию расположения бекапов сайта `/backup/www`. Используем команду `tar`, чтобы создать архив файлов нашего веб-сайта `/var/www/html/`. Сохраняем права доступа файлов с помощью флага `p` и сжимаем архив с помощью `gzip` и флага `z`. Результат сохраняется в файл с именем, содержащим текущую дату и расширением `.tar.gz`.

Наконец, мы выполняем команду `wput`, чтобы отправить файл архива наших файлов веб-сайта (`date +files.%d%m%y.tar.gz`) по FTP на наш удаленный сервер. Мы передаем данные для FTP-соединения, включая имя пользователя `userXXXXXX`, пароль `PASS` и IP-адрес удаленного сервера `IP` или внешнего FTP -хранилища.

Таким образом, мы создаем резервные копии нашей базы данных и файлов веб-сайта, а затем отправляем их на удаленный FTP-сервер для безопасного хранения и сохранности данных.
    
    
    #!/bin/bash
    cd /backup/sql
      mysqldump  -u root -pPASS  DATABASE | gzip -c -9  > `date +sql-dump.%d%m%y.gz`
      wput `date +sql-dump.%d%m%y.gz` ftp://userXXXXXX:PASS@IP/
    
    cd /backup/www
      tar -cpzf  /backup/www/`date +files.%d%m%y`.tar.gz /var/www/html/
      wput `date +files.%d%m%y.tar.gz`  ftp://userXXXXXX:PASS@IP/

**Примечания.**

Можно создать скрипт и положить в /etc/cron.daily/ для ежедневного резервного копирования с указанием в имени даты архивации. Однако, если скрипт будет запускатсья автоматически, могут быть негатывные последствия, через некоторе время, при заполнении места на сервере или внешнем FTP-хранилище - бекапы перестанут выполняться ! Данный простой скрипт можно использовать только если Вы сами будет периодически проверять и/или удалять старые бекапы по дате создания или проверяя дату в имени архвах. Выполнение скрипта по крону и/или более сложные варианты рассмотрим в другой статье.

Похожие статьи

[cPanel: создание почтового ящика и работа с ним](https://zomro.com/rus/blog/faq/222-cpanel-sozdanie-pochtovogo-jaschika-i-rabota-s-nim) [Несколько советов по Postgres для начинающих: Часть 1](https://zomro.com/rus/blog/faq/448-some-postgres-tips-for-beginners-part-1) [Как сделать 301 редирект с HTTP на HTTPS](https://zomro.com/rus/blog/faq/612-how-to-make-301-redirect-from-http-to-https) [Совместный доступ к Linux‑терминалу с tmate: полный гайд](https://zomro.com/rus/blog/faq/605-sharing-a-linux-terminal-with-tmate-full-guide) [Руководство для начинающих и профессионалов: visudo и sudoers - Часть 2](https://zomro.com/rus/blog/faq/572-a-guide-for-beginners-and-professionals-visudo-and-sudoers-part-2)

[ Сервер для Forex от €7.95/мес ](/rus/server-for-forex)
