- Главная конфигурация home.yml и виджеты (countdown, qbittorrent) - PowerShell и Bash скрипты для автоматической загрузки на сервер - Обновлен README с документацией
73 lines
3.2 KiB
Bash
73 lines
3.2 KiB
Bash
#!/bin/bash
|
||
|
||
# Скрипт для обновления только конфигурации Glance (без бэкенда)
|
||
# Использование: ./upload-glance-config.sh [LOCAL_DIR] [USER] [HOST]
|
||
|
||
# Параметры по умолчанию
|
||
LOCAL_GLANCE_DIR="${1:-./glance}"
|
||
REMOTE_USER="${2:-root}"
|
||
REMOTE_HOST="${3:-192.168.50.114}"
|
||
REMOTE_GLANCE_CONFIG="/opt/glance/config"
|
||
SSH_OPTS="-q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
|
||
SCP_OPTS="-q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
|
||
|
||
# Цвета для вывода
|
||
RED='\033[0;31m'
|
||
GREEN='\033[0;32m'
|
||
YELLOW='\033[1;33m'
|
||
CYAN='\033[0;36m'
|
||
NC='\033[0m' # No Color
|
||
|
||
# Функция для выхода с ошибкой
|
||
exit_on_error() {
|
||
echo -e "${RED}Ошибка: $1${NC}" >&2
|
||
exit 1
|
||
}
|
||
|
||
# Проверяем наличие локальной директории glance
|
||
if [ ! -d "$LOCAL_GLANCE_DIR" ]; then
|
||
exit_on_error "Директория $LOCAL_GLANCE_DIR не найдена!"
|
||
fi
|
||
|
||
echo -e "${CYAN}========================================${NC}"
|
||
echo -e "${CYAN}Обновление конфигурации Glance${NC}"
|
||
echo -e "${CYAN}========================================${NC}"
|
||
|
||
# 1. Загружаем home.yml на сервер
|
||
LOCAL_HOME_YML="$LOCAL_GLANCE_DIR/home.yml"
|
||
if [ -f "$LOCAL_HOME_YML" ]; then
|
||
echo -e "\n${YELLOW}📄 Загружаем главный файл конфигурации...${NC}"
|
||
scp $SCP_OPTS "$LOCAL_HOME_YML" "${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_GLANCE_CONFIG}/glance.yml"
|
||
if [ $? -ne 0 ]; then
|
||
exit_on_error "Ошибка при загрузке home.yml"
|
||
fi
|
||
echo -e "${GREEN}✅ home.yml успешно загружен${NC}"
|
||
else
|
||
echo -e "${YELLOW}⚠️ Файл home.yml не найден в $LOCAL_GLANCE_DIR${NC}"
|
||
fi
|
||
|
||
# 2. Загружаем директорию widgets рекурсивно
|
||
LOCAL_WIDGETS_DIR="$LOCAL_GLANCE_DIR/widgets"
|
||
if [ -d "$LOCAL_WIDGETS_DIR" ]; then
|
||
echo -e "\n${YELLOW}📦 Загружаем директорию widgets...${NC}"
|
||
# Создаем директорию widgets на сервере, если не существует
|
||
ssh $SSH_OPTS "${REMOTE_USER}@${REMOTE_HOST}" "mkdir -p ${REMOTE_GLANCE_CONFIG}/widgets"
|
||
if [ $? -ne 0 ]; then
|
||
exit_on_error "Не удалось создать директорию widgets на сервере"
|
||
fi
|
||
|
||
# Копируем все файлы из widgets рекурсивно
|
||
scp $SCP_OPTS -r "${LOCAL_WIDGETS_DIR}"/* "${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_GLANCE_CONFIG}/widgets/"
|
||
if [ $? -ne 0 ]; then
|
||
exit_on_error "Ошибка при загрузке директории widgets"
|
||
fi
|
||
echo -e "${GREEN}✅ Директория widgets успешно загружена${NC}"
|
||
else
|
||
echo -e "${YELLOW}⚠️ Директория widgets не найдена в $LOCAL_GLANCE_DIR${NC}"
|
||
fi
|
||
|
||
echo -e "\n${CYAN}========================================${NC}"
|
||
echo -e "${GREEN}Конфигурация успешно обновлена! 🎉${NC}"
|
||
echo -e "${CYAN}========================================${NC}"
|
||
echo -e "${YELLOW}Примечание: Glance автоматически перезагрузит конфигурацию${NC}"
|