videoDownloadTGbot/cookies-cron/update_cookies.sh
vrubelroman 772e9fd5b4
All checks were successful
CI/CD Pipeline / build-and-deploy (push) Successful in 1m47s
chore: remove obsolete per-folder scripts, add cookies-cron reference, update docs
- Remove get_cookies.sh (targets a container without yt-dlp, already
  broken), get_cookies_local.sh, start_all.sh/stop_all.sh — these
  implement the old per-service-compose startup that now conflicts
  with the unified root docker-compose.yml.
- Add cookies-cron/ — a reference copy of the scripts actually running
  via cron on the separate browser-equipped machine, with setup
  requirements and instructions for standing up a new cron host.
- Update README.md/ARCHITECTURE.md to describe the current unified
  docker-compose + CI/CD deploy flow and host-mounted cookies instead
  of the old per-folder workflow.
2026-06-30 22:16:40 +00:00

111 lines
4.4 KiB
Bash
Executable file
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# Скрипт для обновления cookies Instagram и YouTube через cron
# Запускает скрипты получения cookies и копирует их на удаленный хост
set -euo pipefail
# Определяем директорию скрипта
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
# Настройки
INSTAGRAM_SCRIPT="$SCRIPT_DIR/get_instagram_cookies.sh"
YOUTUBE_SCRIPT="$SCRIPT_DIR/get_youtube_cookies.sh"
INSTAGRAM_COOKIES="$SCRIPT_DIR/instagram_cookies.txt"
YOUTUBE_COOKIES="$SCRIPT_DIR/youtube_cookies.txt"
REMOTE_HOST="germany"
REMOTE_INSTAGRAM_PATH="/root/services/videoDownloadTGbot/instagram_cookies.txt"
REMOTE_YOUTUBE_PATH="/root/services/videoDownloadTGbot/youtube_cookies.txt"
DEV_HOST="hermesDev"
DEV_INSTAGRAM_PATH="services/videoDownloadTGbot/instagram-downloader/instagram_cookies.txt"
DEV_YOUTUBE_PATH="services/videoDownloadTGbot/youtube-downloader/youtube_cookies.txt"
LOG_FILE="$SCRIPT_DIR/cron.log"
# Функция логирования
log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*" | tee -a "$LOG_FILE"
}
# Функция обработки ошибок
error_exit() {
log "ОШИБКА: $*"
exit 1
}
log "=== Начало обновления cookies ==="
# Проверяем наличие скриптов
if [ ! -f "$INSTAGRAM_SCRIPT" ]; then
error_exit "Скрипт не найден: $INSTAGRAM_SCRIPT"
fi
if [ ! -f "$YOUTUBE_SCRIPT" ]; then
error_exit "Скрипт не найден: $YOUTUBE_SCRIPT"
fi
# Проверяем, что скрипты исполняемые
chmod +x "$INSTAGRAM_SCRIPT" "$YOUTUBE_SCRIPT"
# Получаем cookies Instagram
log "Получение cookies Instagram..."
if bash "$INSTAGRAM_SCRIPT" >> "$LOG_FILE" 2>&1; then
if [ -f "$INSTAGRAM_COOKIES" ]; then
log "✅ Cookies Instagram успешно получены"
else
error_exit "Файл cookies Instagram не был создан"
fi
else
error_exit "Ошибка при получении cookies Instagram (код возврата: $?)"
fi
# Получаем cookies YouTube
log "Получение cookies YouTube..."
if bash "$YOUTUBE_SCRIPT" >> "$LOG_FILE" 2>&1; then
if [ -f "$YOUTUBE_COOKIES" ]; then
log "✅ Cookies YouTube успешно получены"
else
error_exit "Файл cookies YouTube не был создан"
fi
else
# YouTube скрипт может завершиться с кодом 0, даже если новый файл не создан (использует старый)
if [ -f "$YOUTUBE_COOKIES" ]; then
log "✅ Cookies YouTube (возможно использован старый файл)"
else
error_exit "Файл cookies YouTube не найден"
fi
fi
# Копируем cookies на удаленный хост (прод)
log "Копирование cookies на удаленный хост $REMOTE_HOST..."
# Копируем Instagram cookies
if scp -q "$INSTAGRAM_COOKIES" "${REMOTE_HOST}:${REMOTE_INSTAGRAM_PATH}" 2>>"$LOG_FILE"; then
log "✅ Instagram cookies скопированы на $REMOTE_HOST"
else
error_exit "Ошибка при копировании Instagram cookies (код возврата: $?)"
fi
# Копируем YouTube cookies
if scp -q "$YOUTUBE_COOKIES" "${REMOTE_HOST}:${REMOTE_YOUTUBE_PATH}" 2>>"$LOG_FILE"; then
log "✅ YouTube cookies скопированы на $REMOTE_HOST"
else
error_exit "Ошибка при копировании YouTube cookies (код возврата: $?)"
fi
# Копируем cookies на тестовый стенд (не блокируем прод-доставку, если стенд недоступен)
log "Копирование cookies на тестовый стенд $DEV_HOST..."
if scp -q "$INSTAGRAM_COOKIES" "${DEV_HOST}:${DEV_INSTAGRAM_PATH}" 2>>"$LOG_FILE"; then
log "✅ Instagram cookies скопированы на $DEV_HOST"
else
log "⚠️ Не удалось скопировать Instagram cookies на $DEV_HOST (продолжаем)"
fi
if scp -q "$YOUTUBE_COOKIES" "${DEV_HOST}:${DEV_YOUTUBE_PATH}" 2>>"$LOG_FILE"; then
log "✅ YouTube cookies скопированы на $DEV_HOST"
else
log "⚠️ Не удалось скопировать YouTube cookies на $DEV_HOST (продолжаем)"
fi
log "=== Обновление cookies завершено успешно ==="
exit 0