Skip to main content

Резервное копирование

Для реализации бекапа общей папки на сервере SRV1-HQ с использованием systemctl, выполните следующие шаги:

a) Создание сервиса для архивации

  1. Создайте скрипт для архивации:

    Создайте скрипт, который будет выполнять архивацию данных. Например, создайте файл /usr/local/bin/backup.sh:

    #!/bin/bash
    
    # Директория для бекапа
    BACKUP_DIR="/var/bac"
    # Исходная директория для архивации
    SOURCE_DIR="/path/to/shared/folder"
    # Имя архива
    ARCHIVE_NAME="backup_$(date +%Y%m%d_%H%M%S).tar.gz"
    
    # Создание архива
    tar -czf "${BACKUP_DIR}/${ARCHIVE_NAME}" -C "${SOURCE_DIR}" .
    
    # Удаление старых архивов (например, старше 7 дней)
    find "${BACKUP_DIR}" -name "backup_*.tar.gz" -mtime +7 -exec rm {} \;
    

    Не забудьте сделать скрипт исполняемым:

    chmod +x /usr/local/bin/backup.sh
    
  2. Создайте юнит для сервиса:

    Создайте файл /etc/systemd/system/backup.service:

    [Unit]
    Description=Backup service for shared folder
    
    [Service]
    Type=oneshot
    ExecStart=/usr/local/bin/backup.sh
    
  3. Включите автозагрузку сервиса:

    sudo systemctl enable backup.service
    

b) Создание таймера для ежедневного выполнения бекапа

  1. Создайте юнит для таймера:

    Создайте файл /etc/systemd/system/backup.timer:

    [Unit]
    Description=Run backup daily at 8 PM
    
    [Timer]
    OnCalendar=20:00
    Persistent=true
    
    [Install]
    WantedBy=timers.target
    
    • OnCalendar=20:00 — задает время выполнения бекапа каждый день в 20:00.
    • Persistent=true — если устройство было выключено в момент выполнения, бекап будет выполнен сразу после запуска системы.
  2. Включите и запустите таймер:

    sudo systemctl enable backup.timer
    sudo systemctl start backup.timer
    

Проверка работы

  • Проверьте статус таймера:

    systemctl list-timers
    
  • Проверьте статус сервиса:

    systemctl status backup.service
    

Теперь бекап будет выполняться каждый день в 20:00, а если сервер был выключен в это время, бекап выполнится сразу после его включения.