---
title: 'Создание бэкапов на Linux-сервере'
url: 'https://itsch.ru/ru/blog/sozdanie-bekapov-na-linux-servere'
markdown: 'https://itsch.ru/ru/blog/sozdanie-bekapov-na-linux-servere.md'
lang: ru
date: '2016-06-14'
description: 'Регулярное создание резервных копий (бэкапов) — это важная часть работы системного администратора. В этой статье мы рассмотрим, как организовать автоматическое бэкапирование на Linux-сервере с использованием скриптов и SSH. Шаг 1. Создание директории для бэкапов Создайте директорию для хранен…'
taxonomy:
  category:
    - Linux
    - Статьи
    - Debian
  tag:
    - Linux
    - Debian
    - Backup
---

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

#### Шаг 1. Создание директории для бэкапов

Создайте директорию для хранения резервных копий:

```
mkdir /root/backup
```

Создайте поддиректорию с текущей датой:

```
mkdir /root/backup/`date +%Y-%m-%d`
```

#### Шаг 2. Бэкапирование базы данных

Создайте резервную копию базы данных MySQL:

```
mysqldump -u [пользователь] -p[пароль] [база данных] &gt; /root/backup/`date +%Y-%m-%d`/[название базы].sql
```

#### Шаг 3. Архивирование файлов

Создайте архив файлов:

```
tar -czvf /root/backup/`date +%Y-%m-%d`/[название архива].tar.gz [путь к директории] &gt;&gt; /root/backup/`date +%Y-%m-%d`/backup.log
```

#### Шаг 4. Копирование бэкапов на удалённый сервер

Настройте безпарольное подключение по SSH и скопируйте бэкапы на удалённый сервер:

```
scp -r /root/backup/`date +%Y-%m-%d` [логин]@[ip сервера]:[путь на удалённом сервере]
```

#### Шаг 5. Очистка старых бэкапов

Удалите бэкапы старше двух дней:

```
find /root/backup -mtime +2 -print -delete
```

#### Шаг 6. Проверка дискового пространства

Проверьте свободное место на диске:

```
df -h &gt;&gt; /root/backup/`date +%Y-%m-%d`/backup.log
```

#### Шаг 7. Отправка уведомления

Настройте отправку лога бэкапирования на электронную почту:

Установите пакет `ssmtp` и настройте его:

```
sudo apt-get install ssmtp
```

Отредактируйте файл `/etc/ssmtp/ssmtp.conf` и отправьте лог на почту:

```
echo &laquo;[сообщение]&raquo; | mail -v -s &laquo;[тема письма]&raquo; [e-mail]
```

#### Скрипт автоматизации бэкапирования

Для автоматизации процесса бэкапирования создайте скрипт `/root/backup.sh`:

```
#!/bin/bash

# Создание директории для бэкапов
mkdir -p /root/backup/`date +%Y-%m-%d`

# Бэкапирование базы данных
mysqldump -u [пользователь] -p[пароль] [база данных] > /root/backup/`date +%Y-%m-%d`/[название базы].sql

# Архивирование файлов
tar -czvf /root/backup/`date +%Y-%m-%d`/[название архива].tar.gz [путь к директории] >> /root/backup/`date +%Y-%m-%d`/backup.log

# Копирование бэкапов на удалённый сервер
scp -r /root/backup/`date +%Y-%m-%d` [логин]@[ip сервера]:[путь на удалённом сервере] >> /root/backup/`date +%Y-%m-%d`/backup.log

# Очистка старых бэкапов
find /root/backup -mtime +2 -print -delete

# Проверка дискового пространства
df -h >> /root/backup/`date +%Y-%m-%d`/backup.log

# Отправка уведомления
echo «Бэкап успешно завершён!» | mail -v -s «Бэкап сервера» [e-mail]

```

Сделайте скрипт исполняемым:

```
chmod +x /root/backup.sh
```

Добавьте выполнение скрипта в cron для ежедневного запуска:

```
crontab -e
```

Добавьте следующую строку:

```
0 2 * * * /root/backup.sh

```

Теперь скрипт будет запускаться ежедневно в 2 часа ночи.

#### Заключение

Теперь у вас есть автоматизированный процесс создания бэкапов на Linux-сервере. Регулярное резервное копирование поможет защитить ваши данные от потери и обеспечит стабильность работы системы.

Bootstrap 4 Theme for [Grav](http://getgrav.org)

---

## Navigation

- Parent: [Блог](https://itsch.ru/ru/index.md)
- Previous: [Обновление LibreOffice 4 до LibreOffice 5 в Debian Jessie](https://itsch.ru/ru/blog/obnovlenie-libreoffice-4-do-libreoffice-5-v-debian-jessie.md)
- Next: [Обновление zabbix 2.4 до zabbix 3](https://itsch.ru/ru/blog/obnovlenie-zabbix-2-4-do-zabbix-3.md)
