112 lines
4.4 KiB
Bash
112 lines
4.4 KiB
Bash
|
|
#!/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
|