Created
June 19, 2025 01:02
-
-
Save hexagonless/106453830354cd0877b12753e99481f0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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