Auto base sync: 2025-08-04 23:08:14
This commit is contained in:
8
.obsidian/workspace.json
vendored
8
.obsidian/workspace.json
vendored
@@ -13,7 +13,7 @@
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "3. LINUX/UBUNTU/2.1 Синхронизация keepasxc > yandex disk.md",
|
||||
"file": "3. LINUX/UBUNTU/2. Synch/2.1 Синхронизация keepasxc > yandex disk.md",
|
||||
"mode": "source",
|
||||
"source": false,
|
||||
"backlinks": true,
|
||||
@@ -185,10 +185,11 @@
|
||||
"mood-tracker:Open Mood Tracking History": false
|
||||
}
|
||||
},
|
||||
"active": "21838e3412a13823",
|
||||
"active": "4f612fc579d5b8a3",
|
||||
"lastOpenFiles": [
|
||||
"3. LINUX/UBUNTU/2. Synch",
|
||||
"2. Проекты/VPN_MARZBAN/2. Инструкция Marzban/2. Ручная установка и настройка marzban.md",
|
||||
"3. LINUX/UBUNTU/2.1 Синхронизация keepasxc > yandex disk.md",
|
||||
"3. LINUX/UBUNTU/2. Synch/2.1 Синхронизация keepasxc > yandex disk.md",
|
||||
"5. Job/1. Отчетности/2025 год/Август 2025/04.08.2025.md",
|
||||
"5. Job/1. Отчетности/2025 год/Август 2025",
|
||||
"2. Проекты/VPN_MARZBAN/2. Инструкция Marzban/Подключение WARP к Marz.md",
|
||||
@@ -214,7 +215,6 @@
|
||||
"5. Job/1. Отчетности/2025 год/Июнь 2025/23.06.25.md",
|
||||
"5. Job/1. Отчетности/2025 год/Июнь 2025/20.06.25.md",
|
||||
"5. Job/1. Отчетности/2025 год/Июнь 2025/19.05.26.md",
|
||||
"5. Job/1. Отчетности/2025 год/Июнь 2025/18.06.25.md",
|
||||
"2. Проекты/VPN_MARZBAN/2. Инструкция Marzban/0. Cache/img/Pasted image 20241007060820.png",
|
||||
"5. Job/1. Отчетности/2025 год/Июнь 2025",
|
||||
"3. LINUX/UBUNTU/4. Ubuntu команды",
|
||||
|
||||
@@ -0,0 +1,164 @@
|
||||
## Шаг 1. Установка rclone
|
||||
|
||||
`sudo apt update sudo apt install rclone`
|
||||
|
||||
Проверьте версию:
|
||||
|
||||
bash
|
||||
|
||||
Копировать
|
||||
|
||||
`rclone version`
|
||||
|
||||
Рекомендуется использовать последнюю стабильную версию rclone (если в репозиториях старая — скачайте с официального сайта).
|
||||
|
||||
---
|
||||
|
||||
## Шаг 2. Создание OAuth-приложения в Яндексе
|
||||
|
||||
1. Перейдите на https://oauth.yandex.ru/client/new
|
||||
|
||||
2. Заполните поля:
|
||||
|
||||
|
||||
- Название приложения: например, `rclone-sync`
|
||||
|
||||
- Платформа: выберите `Другие`
|
||||
|
||||
- Redirect URI: `http://127.0.0.1:53682/`
|
||||
|
||||
|
||||
3. В разделе "Запрашиваемые права" оставьте только:
|
||||
|
||||
|
||||
- `Яндекс.Облако` (cloud:disk)
|
||||
|
||||
|
||||
4. Создайте приложение и сохраните:
|
||||
|
||||
|
||||
- **Client ID**
|
||||
|
||||
- **Client Secret**
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Шаг 3. Настройка rclone remote для Яндекс.Диска
|
||||
|
||||
Запустите:
|
||||
|
||||
bash
|
||||
|
||||
Копировать
|
||||
|
||||
`rclone config`
|
||||
|
||||
- Выберите `n` — создать новый remote
|
||||
|
||||
- Имя: `yandex` (или любое другое)
|
||||
|
||||
- Тип: `yandex` (ищите в списке)
|
||||
|
||||
- Введите **Client ID**
|
||||
|
||||
- Введите **Client Secret**
|
||||
|
||||
- Автоматическая настройка (`auto config`) — выберите `y` если есть браузер на сервере, иначе `n` и откройте ссылку вручную
|
||||
|
||||
- Авторизуйтесь в браузере, подтвердите права
|
||||
|
||||
- Завершите настройку
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Шаг 4. Подготовка локальной и удалённой папок
|
||||
|
||||
- Локальная папка — создайте или выберите, например:
|
||||
|
||||
|
||||
bash
|
||||
|
||||
Копировать
|
||||
|
||||
`mkdir -p "/home/stitch505/Документы/Все файлы"`
|
||||
|
||||
- Удалённая папка — создайте на Яндекс.Диске для изоляции, например:
|
||||
|
||||
|
||||
bash
|
||||
|
||||
Копировать
|
||||
|
||||
`rclone mkdir yandex:"Все файлы"`
|
||||
|
||||
---
|
||||
|
||||
## Шаг 5. Первая двусторонняя синхронизация с пересозданием метаданных
|
||||
|
||||
Запустите:
|
||||
|
||||
bash
|
||||
|
||||
Копировать
|
||||
|
||||
`rclone bisync "/home/stitch505/Документы/Все файлы" yandex:"Все файлы" --progress --resync`
|
||||
|
||||
- Параметр `--resync` нужен для первой синхронизации — создаёт метаданные для дальнейшей работы.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Шаг 6. Регулярная автоматизация с логированием
|
||||
|
||||
### Создайте скрипт `/home/stitch505/scripts/yandex_sync.sh`:
|
||||
|
||||
bash
|
||||
|
||||
Копировать
|
||||
|
||||
`#!/bin/bash LOGDIR="/home/stitch505/scripts" DATE=$(date '+%Y%m%d_%H%M%S') SYNC_LOG="$LOGDIR/yandex_sync_$DATE.log" RCLONE_LOG="$LOGDIR/yandex_rclone_$DATE.log" echo "=== Sync started at $(date '+%Y-%m-%d %H:%M:%S') ===" | tee -a "$SYNC_LOG" rclone bisync "/home/stitch505/Документы/Все файлы" yandex:"Все файлы" --progress --log-file="$RCLONE_LOG" --log-level=INFO if [ $? -eq 0 ]; then echo "$(date '+%Y-%m-%d %H:%M:%S'): Sync completed successfully" | tee -a "$SYNC_LOG" else echo "$(date '+%Y-%m-%d %H:%M:%S'): Sync encountered errors" | tee -a "$SYNC_LOG" fi echo "=== Sync finished at $(date '+%Y-%m-%d %H:%M:%S') ===" | tee -a "$SYNC_LOG" echo "" | tee -a "$SYNC_LOG" # Ротация логов — хранить не более 15 файлов cd "$LOGDIR" || exit 1 ls -1tr yandex_sync_*.log | head -n -15 | xargs -r rm -- ls -1tr yandex_rclone_*.log | head -n -15 | xargs -r rm --`
|
||||
|
||||
### Сделайте скрипт исполняемым:
|
||||
|
||||
bash
|
||||
|
||||
Копировать
|
||||
|
||||
`chmod +x /home/stitch505/scripts/yandex_sync.sh`
|
||||
|
||||
---
|
||||
|
||||
## Шаг 7. Настройка cron для запуска каждые 5 минут
|
||||
|
||||
bash
|
||||
|
||||
Копировать
|
||||
|
||||
`crontab -e`
|
||||
|
||||
Добавьте:
|
||||
|
||||
cron
|
||||
|
||||
Копировать
|
||||
|
||||
`*/5 * * * * /home/stitch505/scripts/yandex_sync.sh`
|
||||
|
||||
---
|
||||
|
||||
## Шаг 8. Проверка работы и логов
|
||||
|
||||
- Основные логи: `/home/stitch505/scripts/yandex_sync_YYYYMMDD_HHMMSS.log`
|
||||
|
||||
- Детальные логи rclone: `/home/stitch505/scripts/yandex_rclone_YYYYMMDD_HHMMSS.log`
|
||||
|
||||
|
||||
Просматривать можно командой:
|
||||
|
||||
bash
|
||||
|
||||
Копировать
|
||||
|
||||
`tail -n 50 /home/stitch505/scripts/yandex_sync_YYYYMMDD_HHMMSS.log`
|
||||
Reference in New Issue
Block a user