diff --git a/docs/04-network.md b/docs/04-network.md index acbe6bc..67e743a 100644 --- a/docs/04-network.md +++ b/docs/04-network.md @@ -179,126 +179,28 @@ environment: --- -## πŸ”„ Бэкапы ΠΈ восстановлСниС +## Бэкапы ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ -### АвтоматичСскиС бэкапы +### OlimpVPN (3X-UI) -| ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ | Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ | -|----------|----------| -| **Π‘ΠΊΡ€ΠΈΠΏΡ‚** | `/opt/3x-ui/backup.sh` | -| **РасписаниС** | `0 3 * * 0` (Π²ΠΎΡΠΊΡ€Π΅ΡΠ΅Π½ΡŒΠ΅, 03:00 +05) | -| **Π›ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅** | `/opt/3x-ui/backups/` | -| **Nextcloud** | `nc.zailon.ru/Admin/Π”ΠΎΠΌΠ°ΡˆΠ½ΠΈΠΉ Π‘Π΅Ρ€Π²Π΅Ρ€/OlimpBackup/OlimpVPN/` | -| **Бостав бэкапа** | `db/`, `cert/`, `docker-compose.yml` | -| **Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ локально** | 30 Π΄Π½Π΅ΠΉ | -| **Π’Π°ΠΉΠΌΠ·ΠΎΠ½Π°** | `Asia/Yekaterinburg (+05)` | +АвтоматичСскиС Π΅ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ бэкапы Π½Π° Nextcloud: +- **Π‘ΠΊΡ€ΠΈΠΏΡ‚**: `/opt/3x-ui/backup.sh` +- **Cron**: `0 3 * * 0` (Π²ΠΎΡΠΊΡ€Π΅ΡΠ΅Π½ΡŒΠ΅, 03:00) +- **Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅**: `nc.zailon.ru/VPN_Backups/3x-ui/` +- **Бостав**: Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, сСртификаты, docker-compose.yml -### Π ΡƒΡ‡Π½ΠΎΠΉ запуск бэкапа +```bash +# Π ΡƒΡ‡Π½ΠΎΠΉ бэкап +cd /opt/3x-ui +tar -czf backup_$(date +%Y%m%d).tar.gz db/ cert/ docker-compose.yml -&&&bash -/opt/3x-ui/backup.sh -&&& - -### ВосстановлСниС ΠΈΠ· бэкапа - -&&&bash -# 1. Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ послСдний бэкап с Nextcloud -LATEST=$(curl -s -u "Zailon:TOKEN" \ - "https://nc.zailon.ru/remote.php/dav/files/Zailon/Admin/Π”ΠΎΠΌΠ°ΡˆΠ½ΠΈΠΉ%20Π‘Π΅Ρ€Π²Π΅Ρ€/OlimpBackup/OlimpVPN/" \ - -X PROPFIND -H "Depth: 1" | \ - grep -oP '3x-ui_backup_\d+_\d+\.tar\.gz' | tail -1) - -curl -s -u "Zailon:TOKEN" \ - "https://nc.zailon.ru/remote.php/dav/files/Zailon/Admin/Π”ΠΎΠΌΠ°ΡˆΠ½ΠΈΠΉ%20Π‘Π΅Ρ€Π²Π΅Ρ€/OlimpBackup/OlimpVPN/${LATEST}" \ - -o /tmp/restore.tar.gz - -# 2. ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСрвис -cd /opt/3x-ui && docker compose down - -# 3. (ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ) Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ -tar -czf /opt/3x-ui/pre_restore_$(date +%Y%m%d).tar.gz -C /opt/3x-ui db cert docker-compose.yml - -# 4. Π’ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ -tar -xzf /tmp/restore.tar.gz -C /opt/3x-ui/ -chown -R root:root /opt/3x-ui/ -chmod 600 /opt/3x-ui/cert/private.key - -# 5. Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСрвис +# ВосстановлСниС +docker compose down +tar -xzf backup_*.tar.gz -C /opt/3x-ui/ docker compose up -d +``` -# 6. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ статус -docker ps | grep 3xui -docker logs 3xui_app --tail 20 -&&& - -### ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ бэкапов - -&&&bash -# Π›ΠΎΠ³ΠΈ бэкапа -tail -f /var/log/3x-ui-backup.log - -# Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ бэкапы -ls -lh /opt/3x-ui/backups/ - -# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Nextcloud (WebDAV) -curl -u "Zailon:TOKEN" \ - "https://nc.zailon.ru/remote.php/dav/files/Zailon/Admin/Π”ΠΎΠΌΠ°ΡˆΠ½ΠΈΠΉ%20Π‘Π΅Ρ€Π²Π΅Ρ€/OlimpBackup/OlimpVPN/" \ - -X PROPFIND -H "Depth: 1" | grep -oP '\K[^<]+' | tail -5 - -# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° crontab -crontab -l - -# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚Π°ΠΉΠΌΠ·ΠΎΠ½Ρ‹ -timedatectl | grep "Time zone" -&&& - -### РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ - -#### Ошибка 401 Unauthorized -&&&bash -# ΠŸΠ΅Ρ€Π΅ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½ прилоТСния Π² Nextcloud: -# Настройки β†’ Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β†’ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ β†’ Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ -# ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ NEXTCLOUD_PASS Π² /opt/3x-ui/backup.sh -&&& - -#### Ошибка 404 Not Found -&&&bash -# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ (рСгистр ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π²Π°ΠΆΠ½Ρ‹!) -# ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚: /Admin/Π”ΠΎΠΌΠ°ΡˆΠ½ΠΈΠΉ%20Π‘Π΅Ρ€Π²Π΅Ρ€/OlimpBackup/OlimpVPN/ -&&& - -#### Бэкап Π½Π΅ создаётся -&&&bash -# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π° запись -ls -la /opt/3x-ui/backups/ - -# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ мСсто Π½Π° дискС -df -h /opt/3x-ui - -# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈ cron -journalctl -u cron -n 20 -&&& - -#### ВрСмя Π² Π»ΠΎΠ³Π°Ρ… Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ΅ -&&&bash -# Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ·ΠΎΠ½Ρƒ -timedatectl set-timezone Asia/Yekaterinburg - -# ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ cron -systemctl restart cron -&&& - -### ЧСклист обслуТивания - -- [ ] **Π•ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ**: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ `/var/log/3x-ui-backup.log` послС Π²ΠΎΡΠΊΡ€Π΅ΡΠ΅Π½ΡŒΡ -- [ ] **ЕТСмСсячно**: Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ бэкапы Π΅ΡΡ‚ΡŒ Π½Π° Nextcloud -- [ ] **Π•ΠΆΠ΅ΠΊΠ²Π°Ρ€Ρ‚Π°Π»ΡŒΠ½ΠΎ**: ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ восстановлСниС Π½Π° тСстовом ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ -- [ ] **ΠŸΡ€ΠΈ смСнС пароля Nextcloud**: ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ `NEXTCLOUD_PASS` Π² скриптС -- [ ] **ΠŸΠ΅Ρ€Π΅Π΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ 3X-UI**: Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€ΡƒΡ‡Π½ΠΎΠΉ бэкап - ---- - -> ⚠️ **Π’Π°ΠΆΠ½ΠΎ**: Π’ΠΎΠΊΠ΅Π½ прилоТСния `2Fpz6-ocGSz-rRbaZ-efoa3-EDATz` ΠΈΠΌΠ΅Π΅Ρ‚ доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ WebDAV. Никогда Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ основной ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° Π² скриптах! +> **Π’Π°ΠΆΠ½ΠΎ**: Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ хранятся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² бэкап. --- diff --git a/docs/04b-olimpvpn.md b/docs/04b-olimpvpn.md index c91dba5..2787fb8 100644 --- a/docs/04b-olimpvpn.md +++ b/docs/04b-olimpvpn.md @@ -15,8 +15,8 @@ 3. [Установка ΠΈ настройка](#установка-ΠΈ-настройка) 4. [ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Xray](#конфигурация-xray) 5. [Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ](#ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ) -6. [Бэкапы](#бэкапы) -7. [ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ обслуТиваниС](#ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³-ΠΈ-обслуТиваниС) +6. [Бэкапы ΠΈ восстановлСниС](#Бэкапы-ΠΈ-восстановлСниС) +7. [ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³](#ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³-бэкапов) 8. [РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ](#Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅-ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ) --- @@ -308,103 +308,126 @@ https://charon.zailon.ru:45131/charon-cerber/CLIENT_ID --- -## Бэкапы +## πŸ”„ Бэкапы ΠΈ восстановлСниС -### АвтоматичСскиС бэкапы Π½Π° Nextcloud +### АвтоматичСскиС бэкапы -#### Настройка Nextcloud +| ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ | Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ | +|----------|----------| +| **Π‘ΠΊΡ€ΠΈΠΏΡ‚** | `/opt/3x-ui/backup.sh` | +| **РасписаниС** | `0 3 * * 0` (Π²ΠΎΡΠΊΡ€Π΅ΡΠ΅Π½ΡŒΠ΅, 03:00 +05) | +| **Π›ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅** | `/opt/3x-ui/backups/` | +| **Nextcloud** | `nc.zailon.ru/Admin/Π”ΠΎΠΌΠ°ΡˆΠ½ΠΈΠΉ Π‘Π΅Ρ€Π²Π΅Ρ€/OlimpBackup/OlimpVPN/` | +| **Бостав бэкапа** | `db/`, `cert/`, `docker-compose.yml` | +| **Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ локально** | 30 Π΄Π½Π΅ΠΉ | +| **Π’Π°ΠΉΠΌΠ·ΠΎΠ½Π°** | `Asia/Yekaterinburg (+05)` | -1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ: `/VPN_Backups/3x-ui/` Π½Π° `nc.zailon.ru` -2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ‚ΠΎΠΊΠ΅Π½ прилоТСния: - - Настройки β†’ Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β†’ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ - - Имя: `3X-UI Backups` - - Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ - -#### Π‘ΠΊΡ€ΠΈΠΏΡ‚ бэкапа +### Π ΡƒΡ‡Π½ΠΎΠΉ запуск бэкапа ```bash -#!/bin/bash -# /opt/3x-ui/backup.sh - -# Настройки -NEXTCLOUD_URL="https://nc.zailon.ru" -NEXTCLOUD_USER="ваш_username" -NEXTCLOUD_PASS="ваш_Ρ‚ΠΎΠΊΠ΅Π½_прилоТСния" -BACKUP_DIR="/opt/3x-ui/backups" -DATE=$(date +%Y%m%d_%H%M%S) -BACKUP_FILE="3x-ui_backup_${DATE}.tar.gz" - -# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ для бэкапов -mkdir -p ${BACKUP_DIR} - -# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π°Ρ€Ρ…ΠΈΠ² -tar -czf ${BACKUP_DIR}/${BACKUP_FILE} \ - -C /opt/3x-ui db cert docker-compose.yml - -# Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Π½Π° Nextcloud Ρ‡Π΅Ρ€Π΅Π· WebDAV -curl -T ${BACKUP_DIR}/${BACKUP_FILE} \ - -u ${NEXTCLOUD_USER}:${NEXTCLOUD_PASS} \ - ${NEXTCLOUD_URL}/remote.php/dav/files/${NEXTCLOUD_USER}/VPN_Backups/3x-ui/${BACKUP_FILE} - -# УдаляСм Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ бэкапы ΡΡ‚Π°Ρ€ΡˆΠ΅ 30 Π΄Π½Π΅ΠΉ -find ${BACKUP_DIR} -name "3x-ui_backup_*.tar.gz" -mtime +30 -delete - -# Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ -echo "$(date): Backup ${BACKUP_FILE} uploaded to Nextcloud" >> /var/log/3x-ui-backup.log +/opt/3x-ui/backup.sh ``` -#### Настройка cron (СТСнСдСльно) +### ВосстановлСниС ΠΈΠ· бэкапа ```bash -# Π”Π΅Π»Π°Π΅ΠΌ скрипт исполняСмым -chmod +x /opt/3x-ui/backup.sh +# 1. Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ послСдний бэкап с Nextcloud +LATEST=$(curl -s -u "Zailon:TOKEN" \ + "https://nc.zailon.ru/remote.php/dav/files/Zailon/Admin/Π”ΠΎΠΌΠ°ΡˆΠ½ΠΈΠΉ%20Π‘Π΅Ρ€Π²Π΅Ρ€/OlimpBackup/OlimpVPN/" \ + -X PROPFIND -H "Depth: 1" | \ + grep -oP '3x-ui_backup_\d+_\d+\.tar\.gz' | tail -1) -# ДобавляСм Π² crontab -crontab -e +curl -s -u "Zailon:TOKEN" \ + "https://nc.zailon.ru/remote.php/dav/files/Zailon/Admin/Π”ΠΎΠΌΠ°ΡˆΠ½ΠΈΠΉ%20Π‘Π΅Ρ€Π²Π΅Ρ€/OlimpBackup/OlimpVPN/${LATEST}" \ + -o /tmp/restore.tar.gz -# КаТдоС Π²ΠΎΡΠΊΡ€Π΅ΡΠ΅Π½ΡŒΠ΅ Π² 3:00 -0 3 * * 0 /opt/3x-ui/backup.sh -``` +# 2. ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСрвис +cd /opt/3x-ui && docker compose down -#### Π ΡƒΡ‡Π½ΠΎΠΉ бэкап +# 3. (ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ) Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ +tar -czf /opt/3x-ui/pre_restore_$(date +%Y%m%d).tar.gz -C /opt/3x-ui db cert docker-compose.yml -```bash -# Быстрый бэкап -cd /opt/3x-ui -tar -czf backup_manual_$(date +%Y%m%d).tar.gz db/ cert/ docker-compose.yml - -# Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· SCP Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ -scp root@2.27.50.20:/opt/3x-ui/backup_manual_*.tar.gz ~/backups/ -``` - -#### ВосстановлСниС ΠΈΠ· бэкапа - -```bash -# ΠžΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ -cd /opt/3x-ui -docker compose down - -# ВосстанавливаСм -tar -xzf backup_20260325.tar.gz -C /opt/3x-ui/ - -# Π˜ΡΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ ΠΏΡ€Π°Π²Π° +# 4. Π’ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ +tar -xzf /tmp/restore.tar.gz -C /opt/3x-ui/ chown -R root:root /opt/3x-ui/ +chmod 600 /opt/3x-ui/cert/private.key -# ЗапускаСм +# 5. Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСрвис docker compose up -d + +# 6. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ статус +docker ps | grep 3xui +docker logs 3xui_app --tail 20 ``` +### ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ бэкапов + +```bash +# Π›ΠΎΠ³ΠΈ бэкапа +tail -f /var/log/3x-ui-backup.log + +# Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ бэкапы +ls -lh /opt/3x-ui/backups/ + +# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Nextcloud (WebDAV) +curl -u "Zailon:TOKEN" \ + "https://nc.zailon.ru/remote.php/dav/files/Zailon/Admin/Π”ΠΎΠΌΠ°ΡˆΠ½ΠΈΠΉ%20Π‘Π΅Ρ€Π²Π΅Ρ€/OlimpBackup/OlimpVPN/" \ + -X PROPFIND -H "Depth: 1" | grep -oP '\K[^<]+' | tail -5 + +# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° crontab +crontab -l + +# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚Π°ΠΉΠΌΠ·ΠΎΠ½Ρ‹ +timedatectl | grep "Time zone" +``` + +### РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ + +#### Ошибка 401 Unauthorized +```bash +# ΠŸΠ΅Ρ€Π΅ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½ прилоТСния Π² Nextcloud: +# Настройки β†’ Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β†’ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ β†’ Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ +# ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ NEXTCLOUD_PASS Π² /opt/3x-ui/backup.sh +``` + +#### Ошибка 404 Not Found +```bash +# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ (рСгистр ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π²Π°ΠΆΠ½Ρ‹!) +# ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚: /Admin/Π”ΠΎΠΌΠ°ΡˆΠ½ΠΈΠΉ%20Π‘Π΅Ρ€Π²Π΅Ρ€/OlimpBackup/OlimpVPN/ +``` + +#### Бэкап Π½Π΅ создаётся +```bash +# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π° запись +ls -la /opt/3x-ui/backups/ + +# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ мСсто Π½Π° дискС +df -h /opt/3x-ui + +# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈ cron +journalctl -u cron -n 20 +``` + +#### ВрСмя Π² Π»ΠΎΠ³Π°Ρ… Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ΅ +```bash +# Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ·ΠΎΠ½Ρƒ +timedatectl set-timezone Asia/Yekaterinburg + +# ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ cron +systemctl restart cron +``` + +### ЧСклист обслуТивания + +- [ ] **Π•ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ**: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ `/var/log/3x-ui-backup.log` послС Π²ΠΎΡΠΊΡ€Π΅ΡΠ΅Π½ΡŒΡ +- [ ] **ЕТСмСсячно**: Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ бэкапы Π΅ΡΡ‚ΡŒ Π½Π° Nextcloud +- [ ] **Π•ΠΆΠ΅ΠΊΠ²Π°Ρ€Ρ‚Π°Π»ΡŒΠ½ΠΎ**: ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ восстановлСниС Π½Π° тСстовом ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ +- [ ] **ΠŸΡ€ΠΈ смСнС пароля Nextcloud**: ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ `NEXTCLOUD_PASS` Π² скриптС +- [ ] **ΠŸΠ΅Ρ€Π΅Π΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ 3X-UI**: Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€ΡƒΡ‡Π½ΠΎΠΉ бэкап + --- -## ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ обслуТиваниС - -### ОбновлСниС 3X-UI - -```bash -cd /opt/3x-ui -docker compose pull -docker compose up -d -docker image prune -f +> ⚠️ **Π’Π°ΠΆΠ½ΠΎ**: Π’ΠΎΠΊΠ΅Π½ прилоТСния `2Fpz6-ocGSz-rRbaZ-efoa3-EDATz` ΠΈΠΌΠ΅Π΅Ρ‚ доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ WebDAV. Никогда Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ основной ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° Π² скриптах! ``` ### ОбновлСниС SSL сСртификата