Compare commits

...
10 Commits
Author SHA1 Message Date
pyrschtjag 4b66f7f61f Обновить README.md 2026-04-18 12:37:12 +04:00
pyrschtjag d1166e84cb docs: updated readme 2026-04-18 12:33:01 +04:00
pyrschtjag 8926cf87a3 docs: updated readme 2026-04-18 11:03:24 +04:00
pyrschtjag 81d9947b90 docs: updated readme 2026-04-18 10:56:30 +04:00
root b68c12dcf0 feat: added advanced options for cloud 2026-04-18 10:54:08 +04:00
root 58b39a94ce feat: added advanced options for cloud 2026-04-18 10:54:02 +04:00
pyrschtjag fd5ac728da feat: updated warning screenshot 2026-04-17 03:44:20 +04:00
pyrschtjag f913e08505 fix: duplicate diffs 2026-04-17 03:39:43 +04:00
pyrschtjag 349b642a65 del: removed old assete 2026-04-17 03:28:39 +04:00
pyrschtjag f3a6229aeb docs: updated readme 2026-04-17 03:21:58 +04:00
5 changed files with 33 additions and 27 deletions
+25 -21
View File
@@ -14,6 +14,7 @@ AUTH="user:password" # Заголовок с авторизац
SERVICE="MyServer" # Имя сервиса для заголовка SERVICE="MyServer" # Имя сервиса для заголовка
FILTER="{*.tar.gz,*.zst,*.lst}" # Маска для файлов FILTER="{*.tar.gz,*.zst,*.lst}" # Маска для файлов
LOG_FILE="/var/log/rclone-backup.log" # Лог-файл LOG_FILE="/var/log/rclone-backup.log" # Лог-файл
ADVANCED_CLOUD_FLAG="" # Дополнительные флаги для выбранного облака
``` ```
## Использование ## Использование
@@ -21,7 +22,7 @@ LOG_FILE="/var/log/rclone-backup.log" # Лог-файл
### Запуск бэкапа вручную: ### Запуск бэкапа вручную:
```bash ```bash
./backup.sh my-backup.env ./backup.sh config.env
``` ```
### Добавление в Cron ### Добавление в Cron
@@ -42,8 +43,9 @@ LOG_FILE="/var/log/rclone-backup.log" # Лог-файл
├── rclone-backup/ # Скрипты и конфиги окружения ├── rclone-backup/ # Скрипты и конфиги окружения
│ ├── rclone-backup.sh # Основной скрипт │ ├── rclone-backup.sh # Основной скрипт
│ └── config.env # Конфиг │ └── config.env # Конфиг
├── rclone-data/rclone-backup.log # лог-файл ├── rclone-data/
├── rclone-data/rclone.conf # конфиг rclone │ ├── rclone-backup.log # лог-файл
│ └── rclone.conf # конфиг rclone
├── docker-compose.yml ├── docker-compose.yml
└── Dockerfile # устаналиваем curl └── Dockerfile # устаналиваем curl
``` ```
@@ -68,10 +70,8 @@ services:
- ./rclone-backup/rclone-backup.sh:/usr/local/bin/rclone-backup.sh:ro - ./rclone-backup/rclone-backup.sh:/usr/local/bin/rclone-backup.sh:ro
# конфиг для скрипта # конфиг для скрипта
- ./rclone-backup/config.env:/opt/rclone-backup/config.env:ro - ./rclone-backup/config.env:/opt/rclone-backup/config.env:ro
# лог-файл. предварительно создать touch ./rclone-backup.log # директория с конфигом и логом rclone
- ./rclone-backup.log:/var/log/rclone-backup.log - ./rclone-data:/config/rclone:rw
# конфиг самого rclone, хранящий настройки для облака
- ./rclone-data/rclone.conf:/config/rclone/rclone.conf:ro
# непосредственно сама директория с бэкапами для синхронизации # непосредственно сама директория с бэкапами для синхронизации
- /opt/docker/samba/openwrt/:/mnt/backup/openwrt:ro - /opt/docker/samba/openwrt/:/mnt/backup/openwrt:ro
entrypoint: ["/bin/sh", "/usr/local/bin/rclone-backup.sh"] entrypoint: ["/bin/sh", "/usr/local/bin/rclone-backup.sh"]
@@ -80,6 +80,13 @@ services:
### Использование ### Использование
Скачиваем образ и собираем с `curl`:
```bash
docker pull rclone/rclone:latest
docker compose build --no-cache rclone-backup
```
Запускаем:
```bash ```bash
docker compose -f /opt/docker/rclone/docker-compose.yml run --rm rclone-backup docker compose -f /opt/docker/rclone/docker-compose.yml run --rm rclone-backup
``` ```
@@ -97,18 +104,15 @@ docker compose -f /opt/docker/rclone/docker-compose.yml run --rm rclone-backup
2026/04/16 21:29:25 NOTICE: Yandex backup_proxmox: 51 matching files 2026/04/16 21:29:25 NOTICE: Yandex backup_proxmox: 51 matching files
``` ```
<details> <table>
<summary>Скриншоты ntfy</summary> <tr>
<table border="0"> <td>
<tr> <p align="center"><b>Успешная синхронизация</b></p>
<td> <img src="./assets/ntfy_success.jpg" alt="ntfy success" width="400">
<p align="center"><b>Успешно</b></p> </td>
<img src="./assets/ntfy_success.jpg" alt="ntfy success" width="400"> <td>
</td> <p align="center"><b>Ошибка при синхронизации</b></p>
<td> <img src="./assets/ntfy_warning.jpg" alt="ntfy warning" width="400">
<p align="center"><b>Ошибки</b></p> </td>
<img src="./assets/ntfy_warning.jpg" alt="ntfy warning" width="400"> </tr>
</td>
</tr>
</table> </table>
</details>
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 KiB

After

Width:  |  Height:  |  Size: 188 KiB

+2 -1
View File
@@ -1,5 +1,5 @@
SOURCE="/mnt/backup/data" SOURCE="/mnt/backup/data"
REMOTE="yandex:backup_folder" REMOTE="google:backup_folder"
MAX_AGE="24h" MAX_AGE="24h"
BW_LIMIT="5M" BW_LIMIT="5M"
NTFY_URL="https://ntfy.sh/topic" NTFY_URL="https://ntfy.sh/topic"
@@ -7,3 +7,4 @@ AUTH="user:password"
SERVICE="MyServer" SERVICE="MyServer"
FILTER="{*.tar.gz,*.zst,*.lst}" FILTER="{*.tar.gz,*.zst,*.lst}"
LOG_FILE="/var/log/rclone-backup.log" LOG_FILE="/var/log/rclone-backup.log"
ADVANCED_CLOUD_FLAG='--drive-use-trash=false --drive-chunk-size 64M --drive-stop-on-upload-limit'
+3 -2
View File
@@ -26,7 +26,8 @@ SYNC_ERROR=$(rclone sync "$SOURCE" "$REMOTE" \
--bwlimit "$BW_LIMIT" \ --bwlimit "$BW_LIMIT" \
--delete-before \ --delete-before \
--delete-excluded \ --delete-excluded \
--checksum $YANDEX_OPTS \ --checksum \
$ADVANCED_CLOUD_FLAG \
-q 2>&1) -q 2>&1)
if [ -n "$SYNC_ERROR" ]; then if [ -n "$SYNC_ERROR" ]; then
@@ -50,7 +51,7 @@ CHECK_OUT=$(rclone check "$SOURCE" "$REMOTE" \
echo "$CHECK_OUT" >> "$LOG_FILE" echo "$CHECK_OUT" >> "$LOG_FILE"
DIFFS=$(echo "$CHECK_OUT" | grep -oE '[0-9]+ differences found' | awk '{print $1}') DIFFS=$(echo "$CHECK_OUT" | grep -oE '[0-9]+ differences found' | awk '{print $1}' | tail -n 1)
MATCH=$(echo "$CHECK_OUT" | grep -oE '[0-9]+ matching files' | awk '{print $1}') MATCH=$(echo "$CHECK_OUT" | grep -oE '[0-9]+ matching files' | awk '{print $1}')
DIFFS=${DIFFS:-0} DIFFS=${DIFFS:-0}