From aa592791bd7741887eb82c50efcd8091409d1585 Mon Sep 17 00:00:00 2001 From: Stitch505 Date: Mon, 4 Aug 2025 23:13:14 +0400 Subject: [PATCH] Auto base sync: 2025-08-04 23:13:14 --- ....1 Синхронизация keepasxc > yandex disk.md | 50 ++++++++++--------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/3. LINUX/UBUNTU/2. Synch/2.1 Синхронизация keepasxc > yandex disk.md b/3. LINUX/UBUNTU/2. Synch/2.1 Синхронизация keepasxc > yandex disk.md index 48fd7ca..40da87d 100644 --- a/3. LINUX/UBUNTU/2. Synch/2.1 Синхронизация keepasxc > yandex disk.md +++ b/3. LINUX/UBUNTU/2. Synch/2.1 Синхронизация keepasxc > yandex disk.md @@ -70,48 +70,52 @@ ### Создайте скрипт `/home/stitch505/scripts/yandex_sync.sh`: ``` -#!/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 -- +#!/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` \ No newline at end of file