# rclone-backup Скрипт для автоматизации бэкапов с помощью rclone в облако Яндекс.Диск с уведомлениями в ntfy. ## Конфиг ```bash SOURCE="/mnt/backup/data" # Источник REMOTE="yandex:backup_folder" # Назначение MAX_AGE="24h" # Срок актуальности файлов BW_LIMIT="5M" # Ограничение скорости NTFY_URL="https://ntfy.sh/topic" # Ссылка на топик ntfy AUTH="user:password" # Заголовок с авторизацией для ntfy SERVICE="MyServer" # Имя сервиса для заголовка FILTER="{*.tar.gz,*.zst,*.lst}" # Маска для файлов LOG_FILE="/var/log/rclone-backup.log" # Лог-файл ADVANCED_CLOUD_FLAG="" # Дополнительные флаги для выбранного облака ``` ## Использование ### Запуск бэкапа вручную: ```bash ./backup.sh config.env ``` ### Добавление в Cron Для ежедневного запуска в 05:00: ```bash 0 5 * * * /opt/rclone-backup/rclone-backup.sh /opt/rclone-backup/config.env ``` ## Docker Структура: ```bash . ├── rclone-backup/ # Скрипты и конфиги окружения │ ├── rclone-backup.sh # Основной скрипт │ └── config.env # Конфиг ├── rclone-data/ │ ├── rclone-backup.log # лог-файл │ └── rclone.conf # конфиг rclone ├── docker-compose.yml └── Dockerfile # устаналиваем curl ``` `Dockerfile`: ```Dockerfile FROM rclone/rclone:latest RUN apk add --no-cache curl ``` `docker-compose.yml`: ```yaml services: rclone-backup: build: . container_name: rclone-backup restart: "no" volumes: # сам скрипт - ./rclone-backup/rclone-backup.sh:/usr/local/bin/rclone-backup.sh:ro # конфиг для скрипта - ./rclone-backup/config.env:/opt/rclone-backup/config.env:ro # директория с конфигом и логом rclone - ./rclone-data:/config/rclone:rw # непосредственно сама директория с бэкапами для синхронизации - /opt/docker/samba/openwrt/:/mnt/backup/openwrt:ro entrypoint: ["/bin/sh", "/usr/local/bin/rclone-backup.sh"] command: ["/opt/rclone-backup/config.env"] ``` ### Использование Скачиваем образ и собираем с `curl`: ```bash docker pull rclone/rclone:latest docker compose build --no-cache rclone-backup ``` Запускаем: ```bash docker compose -f /opt/docker/rclone/docker-compose.yml run --rm rclone-backup ``` ## Вывод Пример лога: ```log 2026/04/16 21:28:11 Cloning BananaWrt 2026/04/16 21:28:15 NOTICE: Yandex backup_bananawrt: 0 differences found 2026/04/16 21:28:15 NOTICE: Yandex backup_bananawrt: 82 matching files 2026/04/16 21:28:51 Cloning Proxmox 2026/04/16 21:29:25 NOTICE: Yandex backup_proxmox: 0 differences found 2026/04/16 21:29:25 NOTICE: Yandex backup_proxmox: 51 matching files ```

Успешная синхронизация

ntfy success

Ошибка при синхронизации

ntfy warning