Обновление, резервное копирование и восстановление

Автоматизированное обновление

Автоматизированное обновление системы выполняется через скрипт termidesk-cm.sh.

Пример команд для обновления системы через скрипт:

cd /home/ast/TCM02
unzip -o /home/ast/new-termidesk-connect-manager.zip
sudo ./termidesk-cm.sh update
sudo ./termidesk-cm.sh status

Ручное обновление

Пример команд для ручного обновления системы:

cd /home/ast/TCM02
unzip -o /home/ast/new-termidesk-connect-manager.zip
docker rm -f tcm-backend tcm-frontend 2>/dev/null || true
docker build -t tcm-backend ./backend
docker run -d   --name tcm-backend   --network tcm-net   --restart unless-stopped   -e TCM_DATABASE_URL=postgresql://tcm:tcm@tcm-postgres:5432/tcm   -e TCM_DATA_PATH=/app/data   -e TCM_MANAGER_IP=192.0.2.11   -e TCM_SYSLOG_HOST=0.0.0.0   -e TCM_SYSLOG_PORT=514   -e TCM_MOCK_MODE=false   -v tcm-data:/app/data   -p 8000:8000   -p 514:514/tcp   -p 514:514/udp   tcm-backend
docker run --rm -it -w /app -v "$PWD/frontend:/app" node:22-slim sh -lc 'rm -rf node_modules package-lock.json && npm install --include=dev --no-audit --no-fund --registry=https://registry.npmjs.org'
docker run -d --name tcm-frontend --network tcm-net --restart unless-stopped -w /app -e VITE_API_URL=http://192.0.2.11:8000 -v "$PWD/frontend:/app" -p 5173:5173 node:22-slim sh -c 'npm run dev -- --host 0.0.0.0 --port 5173'
Адреса (TCM_MANAGER_IP и VITE_API_URL) необходимо заменить на актуальные для использования в промышленном контуре.

Автоматизированное резервное копирование

Пример команд для резервного копирования системы через скрипт:

sudo ./termidesk-cm.sh backup
sudo ./termidesk-cm.sh backup /var/backups/termidesk-cm/my-backup.tar.gz
Архив содержит дамп PostgreSQL, содержимое Docker-тома tcm-data, manifest и копию env-файла (если он существует).

Ручное резервное копирование

Пример команд для ручного резервного копирования системы:

mkdir -p /var/backups/termidesk-cm/manual
docker exec tcm-postgres pg_dump -U tcm -d tcm > /var/backups/termidesk-cm/manual/postgres.sql
docker run --rm   -v tcm-data:/data:ro   -v /var/backups/termidesk-cm/manual:/backup   alpine:3.20   sh -c 'cd /data && tar -czf /backup/tcm-data.tar.gz .'
tar -C /var/backups/termidesk-cm/manual -czf /var/backups/termidesk-cm/manual-backup.tar.gz .

Автоматизированное восстановление

Пример команд для резервного восстановления системы через скрипт:

sudo ./termidesk-cm.sh restore /var/backups/termidesk-cm/my-backup.tar.gz
sudo ./termidesk-cm.sh update

Установка новой системы из резервной копии

Пример команды для установки новой системы из резервной копии:

sudo ./termidesk-cm.sh install --restore /var/backups/termidesk-cm/my-backup.tar.gz