Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save hexagonless/106453830354cd0877b12753e99481f0 to your computer and use it in GitHub Desktop.
Save hexagonless/106453830354cd0877b12753e99481f0 to your computer and use it in GitHub Desktop.
#!/bin/bash
# Конфигурация Telegram
TELEGRAM_BOT_TOKEN="YOUR_BOT_TOKEN" # Замените на токен вашего бота
TELEGRAM_CHAT_ID="YOUR_CHAT_ID" # Замените на ваш chat_id
# Конфигурация n8n
N8N_CONTAINER_NAME="n8n"
BACKUP_DIR="n8n_backup_$(date +'%Y-%m-%d_%H-%M-%S')"
ZIP_FILE="${BACKUP_DIR}.zip"
# Проверяем, установлен ли Docker
if ! command -v docker &> /dev/null; then
echo "Ошибка: Docker не установлен."
exit 1
fi
# Проверяем, запущен ли контейнер n8n
if ! docker ps --format '{{.Names}}' | grep -q "^${N8N_CONTAINER_NAME}$"; then
echo "Ошибка: Контейнер n8n '${N8N_CONTAINER_NAME}' не найден."
exit 1
fi
# Создаем директорию для бэкапов
mkdir -p "$BACKUP_DIR"
# Копируем файлы из контейнера
echo "Копируем файлы из контейнера n8n..."
docker cp "${N8N_CONTAINER_NAME}:/home/node/.n8n/workflow.json" "${BACKUP_DIR}/"
docker cp "${N8N_CONTAINER_NAME}:/home/node/.n8n/credentials.json" "${BACKUP_DIR}/"
# Проверяем успешность копирования
if [ ! -f "${BACKUP_DIR}/workflow.json" ] || [ ! -f "${BACKUP_DIR}/credentials.json" ]; then
echo "Ошибка: Не удалось скопировать файлы."
exit 1
fi
# Архивируем файлы
echo "Архивируем файлы..."
zip -r "$ZIP_FILE" "$BACKUP_DIR"
# Отправляем в Telegram
echo "Отправляем файлы в Telegram..."
curl -F document=@"$ZIP_FILE" \
-F caption="n8n backup $(date +'%Y-%m-%d %H:%M:%S')" \
https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendDocument?chat_id=${TELEGRAM_CHAT_ID}
# Удаляем временные файлы
rm -rf "$BACKUP_DIR"
rm "$ZIP_FILE"
echo "Готово!"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment