Добавляю уже существующий проект в репозиторий GIT

This commit is contained in:
2026-02-09 20:45:47 +03:00
commit 5bbb585d9f
11 changed files with 2198 additions and 0 deletions

49
ssh.py Executable file
View File

@@ -0,0 +1,49 @@
#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""
Основной модуль SSH клиента для миграции 1С
Объединяет базовые SSH операции, PostgreSQL и 1С кластер
"""
from ssh_base import SSHBase
from postgresql import PostgreSQLOperations
from c1_cluster import C1ClusterOperations
class ssh(SSHBase, PostgreSQLOperations, C1ClusterOperations):
"""
Класс SSH клиента с поддержкой PostgreSQL и 1С кластера
Наследует функциональность от:
- SSHBase: базовые SSH операции (connect, cmd, close)
- PostgreSQLOperations: операции с PostgreSQL
- C1ClusterOperations: операции с кластером 1С
"""
def __init__(self, hostname: str = "test", port: int = 22222, username: str = "root",
pkey_file: str = "/root/.ssh/id_rsa", host_keys: str = "~/.ssh/known_hosts") -> None:
"""
Инициализация SSH клиента
Args:
hostname: Имя хоста или IP адрес
port: Порт SSH (int)
username: Имя пользователя
pkey_file: Путь к приватному ключу
host_keys: Путь к файлу known_hosts
"""
# Инициализируем базовый SSH класс
SSHBase.__init__(self, hostname, port, username, pkey_file, host_keys)
# Инициализируем модули операций
PostgreSQLOperations.__init__(self, self)
C1ClusterOperations.__init__(self, self, "", "", "")
def set_c1_config(self, srv_1c: str, c1_claster_user: str, c1_claster_pass: str) -> None:
"""
Установка конфигурации кластера 1С
Args:
srv_1c: Имя LXC контейнера с 1С
c1_claster_user: Пользователь кластера 1С
c1_claster_pass: Пароль кластера 1С
"""
self.set_srv_1c(srv_1c)
self.set_cluster_credentials(c1_claster_user, c1_claster_pass)