---
title: 'Бэкап данных в автоматическом режиме с применением rsync и cron | Zomro'
description: 'Почему резервное копирование — это важно?'
image: 'https://zomro.com/static/site/images/logo/logo-white.png?v=1790339723'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [Полезные статьи](https://zomro.com/rus/blog/articles/)
  * Бэкап данных в автоматическом режиме с применением rsync и cron 



# Бэкап данных в автоматическом режиме с применением rsync и cron

05-03-2025

Век информации, в который мы с вами живем, предполагает, что данные различного рода – одна из наибольших ценностей, и утрата этих данных может повлечь за собой серьезный ущерб – потерю денег и доверия клиентов. Именно по этой причине, резервное копирование является одним из ключевых элементов стратегии информационной безопасности, которое позволяет защитить ценные файлы и дать возможность в кратчайшие сроки предотвратить их потерю из-за сбоев, хакерских атак и программных ошибок.  
  


### **Почему резервное копирование — это важно?**

Пожалуй, важнейшей причиной для создания резервных копий является то, что как компании, так и обычные люди очень часто теряют информацию. Причины этому, естественно, не преднамеренны, но достаточно различны - человеческий фактор, системный сбой или банальные вирусы. Делать бэкап вручную не очень удобно и занимает много времени. К тому же, здесь тоже есть риски человеческого фактора - забыть сделать копию или сделать ее не полностью. Автоматизация этого процесса помогает:  


  * **Сократить риски утраты информации** – бэкапы создаются по расписанию без вмешательства человека.

  * **Обеспечить надежность** – система выполняет бэкап в установленное время, что исключает человеческие ошибки.

  * **Сэкономить ресурсы** – автоматический режим копирования снижает нагрузку на администраторов и пользователей, избавляя от рутинной и не всегда простой работы.

  * **Скорость возврата утраченных данных** – если случился сбой, то все утраченные данные восстановить намного проще, нежели делать это вручную.  
  





### **Почему rsync?**  


Существует множество бэкап-решений, но **rsync** является одним из самых удобных и мощных благодаря следующим преимуществам:

  1. **Эффективность** – делает копии лишь редактируемых документов. Это сокращает объем передаваемой информации, ускоряя рабочий процесс.

  2. **Гибкость** – поддерживает локальное копирование, а также поддерживает удаленный формат через SSH.

  3. **Контроль версий** – позволяет создавать инкрементные и дифференциальные копии.

  4. **Экономия ресурсов** – в процессе работы сервер нагружается минимально.

  5. **Простота настройки** – легко интегрируется с cron для автоматического выполнения заданий.  
  





### **Какую роль играет cron?**

**cron** – это планировщик задач в Unix-подобных операционных системах, который позволяет автоматически выполнять команды через заданные интервалы времени. В сочетании с **rsync** он позволяет настроить:

  * **Ежедневное, еженедельное или ежемесячное копирование** без вмешательства пользователя.

  * **Гибкую настройку расписания** для разных типов файлов и серверов.

  * **Оповещения о состоянии проведенного копирования (успехе или неудаче)** , помогая контролировать процесс.




Данный материал позволит разобраться в пошаговой настройке автобэкапа с применением **rsync и cron** и поможет разобрать ключевые аспекты безопасности, отслеживания и проверки бэкап-системы.  
  


## **Этап 1. Инсталляция rsync**

**rsync** представляет из себя инструмент быстрого и эффективного копирования документов и директорий, поддерживающая инкрементное обновление, удаленную синхронизацию через SSH и исключение файлов. Она предустановлена на различных дистрибутивах Linux. В случаях отсутствия утилиты установку можно выполнить вручную.

### **Установка rsync на распространенных площадках Linux**

Отталкиваясь от используемой системы, инсталляция выполняется с использованием следующих команд:

#### **Debian, Ubuntu и производные**
    
    
    sudo apt update && sudo apt install rsync -y
    

  
  


![Бэкап данных в автоматическом режиме с применением rsync и cron - 1](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcYEVbjd_8rMbk_ZVpzd4z81hV2_XyqCoSmkEKlp7Obbfz1LKvuKGrHCLfCGCZnkThVIZzxTYeCjBIGpR1I4L42pNgvQmsyYfe8AMKy7S1PpnBEomEfvBYb2Nx8V3eqGcCLWH0ctA?key=aZ44XlrGfNON93Yf8rJa1Xhb)

####   
  
**CentOS, RHEL, Rocky Linux, AlmaLinux**
    
    
    sudo yum install rsync -y
    

или (если используется dnf вместо yum):
    
    
    sudo dnf install rsync -y

#### **Arch Linux**
    
    
    sudo pacman -S rsync

#### **macOS (через Homebrew)**
    
    
    brew install rsync

#### **Проверка инсталляции**

Завершив инсталляцию, есть возможность проверить версию утилиты:
    
    
    rsync --version

  
  


![Бэкап данных в автоматическом режиме с применением rsync и cron - 2](https://lh7-rt.googleusercontent.com/docsz/AD_4nXf_VL5bY71AB7TZAHTDOM2-iGakzyxTBWyFn_Dlxs4GvIwDEFmaceYYiG2ahsmi5PS11edFM_MvJyL0iUCUha_k5L_ncBi-toBKwSOX2HqSsGAjz55wMoEoxq1LjBBQp0C3ruwkJw?key=aZ44XlrGfNON93Yf8rJa1Xhb)

  
В случае успешной установки отобразится информация о версии и настройках rsync.  
  


## **Этап 2. Базовая конфигурация rsync**

Установив rsync можете применять его для проведения копирования как локально, так и в удаленном формате. Ниже рассмотрены базовые команды и параметры.  
  


### **Локальное копирование**

Синхронизация на одном сервере:
    
    
    rsync -av /home/user/documents /backup/

  


![Бэкап данных в автоматическом режиме с применением rsync и cron - 3](https://lh7-rt.googleusercontent.com/docsz/AD_4nXe2lP3txA5crmRgZei-8-mj6wphHwKtaqYOVjEQOPBARZvV6bnaiXIh7izB4qdc3oKrdzD_TWD6snNLNwc7RV8ZfinBiU9PRAkPBHvFBw1_R_t5cSfw_OUFIDHksYaD30UFVdlAfw?key=aZ44XlrGfNON93Yf8rJa1Xhb)

  
Где:

  * 
        -a

– состояние архива, которое сохранит права доступа, метки о времени и символические ссылки.

  * 
        -v 

– обнародует информацию детально.  
  





### **Бэкап через SSH на удаленный сервер**

Чтобы отправить данные 

Для передачи файлов на другой сервер через SSH следует воспользоваться такой командой:
    
    
    rsync -avz -e "ssh -p 22" /home/user/documents user@remote-server:/backup/

Где:

  * 
        -z

– сжимает информацию чтобы повысить скорость отправки.

  * 
        -e "ssh -p 22"

– применение SSH с указанием порта (если нестандартный).

  * 
        user@remote-server:/backup/ 

– место сохранения на удаленном сервере.  
  





### **Исключение документов и директорий**

Чтобы не копировать определенные файлы, используйте \--exclude:
    
    
    rsync -av --exclude="*.tmp" /home/user/documents /backup/

Это исключит все доументы с расширением .tmp.  
  


### **Удаление устаревших документов из целевой директории**

Когда возникнет потребность избавиться от файлов на сервере, если они уже не существуют в исходной папке, добавьте
    
    
     --delete:
    
    
    rsync -av --delete /home/user/documents /backup/

Используя этот параметр есть риск потери важной информации на сервере назначения, поэтому будьте осторожны с этим параметром.  
  
  


## **Шаг 3. Настройка cron**

После настройки rsync можно автоматизировать процесс с помощью планировщика задач **cron**.  


### **Открытие файла crontab**

Для редактирования расписания запустите команду:
    
    
    crontab -e

Откроется файл для добавления задач cron.  


### **Создание задачи для ежесуточного бэкапа**

Впишите следующую строку:
    
    
    0 2 * * * rsync -avz --delete /home/user/documents /backup/ >> /var/log/rsync.log 2>&1

  
  


![Бэкап данных в автоматическом режиме с применением rsync и cron - 4](https://lh7-rt.googleusercontent.com/docsz/AD_4nXf7eFUaMAreiBMd5nE9c3N4EgnLnsk2TaBCNjU_4SxW7yPsK9wS-FAJgVpbaTg88Gu8oipaU8TPuiRz2y1DHdEPSY4DUw17cZUpBk_hn8TIvUrppIoCvlU3lSZFrlNgqFSQ8zq4JQ?key=aZ44XlrGfNON93Yf8rJa1Xhb)  


Где:

  * 
        0 2 * * * 

– выполняет команду в 2:00 каждую ночь.

  * 
        >> /var/log/rsync.log 2>&1

– записывает лог выполнения в файл
        
        
         /var/log/rsync.log.

  





### **Автокопирование на удаленный сервер**
    
    
    0 3 * * * rsync -avz -e "ssh -p 22" /home/user/documents user@remote-server:/backup/ >> /var/log/rsync.log 2>&1

Это будет создавать копию каждую ночь в 3:00.  


### **Проверка списка задач cron**

Для того, чтобы проверить добавлена ли требуемая задача, выполните:
    
    
    crontab -l

Это отобразит все запланированные задания текущего пользователя.  
  


## **Шаг 4. Проверка работоспособности**  
  


После настройки cron важно проверить, работает ли автоматическое копирование.

**Отследить лист задач в crontab**
    
    
    crontab -l

**Ручной запуск тест-команды**
    
    
    rsync -av --delete /home/user/documents/ /backup/documents/

**Отследить логи cron**
    
    
    cat /var/log/syslog | grep rsync

###   
  
**Настройка уведомлений**

Добавим отправку email при ошибках:
    
    
    MAILTO="admin@example.com"
    
    
    0 3 * * * rsync -av --delete /home/user/documents/ /backup/documents/ >> /var/log/rsync.log 2>&1

Теперь при сбоях бэкапа на указанную почту будет отправляться сообщение.  
  


## **Шаг 5. Рекомендации по безопасности**  
  


### **Использование ключей SSH**

Чтобы совершать удаленный бэкап без пароля, сконфигурируйте должным образом ключи SSH:
    
    
    ssh-keygen -t rsa
    
    
    ssh-copy-id user@remote_host

### **Регулирование уровня допуска**

Запретите допуск к резервным копиям от неавторизованных пользователей:
    
    
    chmod -R 700 /backup/

### **Хранение нескольких версий бэкапов**

Пользуйтесь 
    
    
    --backup 

и 
    
    
    --backup-dir

чтобы сберечь старые версии документов:
    
    
    rsync -av --backup --backup-dir=/backup/old /home/user/documents/ /backup/documents/

####   


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

Автоматизированный бэкап с использованием **rsync и cron** является отличным способом обезопасить данные в случае возникновения критических проблем. В данной публикации мы осветили следующие моменты:

  * Инсталляция и настройку **rsync**.

  * Базовые и продвинутые команды **синхронизации**.

  * Использование **cron** с целью автоматического запуска дублирования данных.

  * Способы **проверки работоспособности и логирования**.

  * Основные меры **безопасности информации**.  
  





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

  1. **Регулярная проверка возможностей восстановления информации**  
Недостаточно только сделать нужные копии. Необходимо еще проверять дубликаты на возможность восстановления. Это можно делать в тестовой среде, сверяя полученные файлы с оригиналами.

  2. **Использование нескольких уровней резервного копирования**  
Желательно хранить копии в разных местах:

     * Локальные копии на том же сервере.

     * Отдельный выделенный сервер или NAS для хранения данных.

     * Облачные сервисы для защиты от аппаратных сбоев.

  3. **Использование ротации**  
Сконфигурировав **rsync** с ключом \--backup-dir, есть возможность хранения нескольких версий одного документа. Необходимо это для отката к предыдущей версии в случаях возникновения ошибок или непреднамеренного удаления файла.

  4. **Обеспечение безопасности резервных копий**

     * Шифрование перед передачей через SSH.

     * Регулирование уровня доступа через chmod и chown.

     * Использование надежных паролей и ключей SSH.

  5. **Мониторинг и уведомления**  
Не забывайте про важность наблюдения за исправностью процессов автокопирования. Упростить сей процесс можно с помощью настройки оповещений о статусе копирование. Вы будете получать уведомления о сбое или успехе бэкапа. Ведение логов также крайне важно для мониторинга системного состояния.




Руководствуясь данными советами, вы получите безопасную среду с минимальным риском потери данных.

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

[Интеграция MySQL с системами мониторинга Zabbix и Grafana](https://zomro.com/rus/blog/articles/579-integration-of-mysql-with-zabbix-and-grafana-monitoring-systems) [Использование Telnet в Ubuntu 24.04 LTS](https://zomro.com/rus/blog/articles/512-using-telnet-in-ubuntu-lts) [Есть сайт — клиентов нет. Как привлечь посетителей?](https://zomro.com/rus/blog/articles/54-est-sayt-klientov-net-kak-privlech-posetiteley) [Что такое балансировка нагрузки?](https://zomro.com/rus/blog/articles/503-what-is-load-balancing) [Старые песни о главном. Какими качествами должен владеть успешный предприниматель.](https://zomro.com/rus/blog/articles/15-starye-pesni-o-glavnom-kakimi-kachestvami-dolzhen-vladet-uspeshnyy-predprinimatel)

[ Выделенный сервер с GPU от €174.80/мес ](/dedicated-servers/type=gpu)
