Пример #1
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public virtual bool Execute()
        {
            var decryptedPassword = EncrytionHelper.Decrypt(SshPassword);
            var client            = new Renci.SshNet.SshClient(SshHost, SshLogin, decryptedPassword);

            client.Connect();

            var termkvp = new Dictionary <TerminalModes, uint>();

            termkvp.Add(TerminalModes.ECHO, 53);

            var shellStream = client.CreateShellStream("xterm", 80, 24, 800, 600, 1024, termkvp);

            if (IsRoot)
            {
                SwitchToRoot(decryptedPassword, shellStream);
            }

            WriteStream(Command, shellStream);
            var result = ReadStream(shellStream);

            _log.Information(result);

            _log.Success("Command Execute finished!");
            client.Disconnect();
            return(true);
        }
Пример #2
0
        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public bool Execute()
        {
            var httpClient = new HttpClient();
            var result = httpClient.GetAsync(BlockServiceUrl);
            result.Wait();

            if (!result.Result.IsSuccessStatusCode)
            {
                _log.Warning(result.Result?.Content?.ReadAsStringAsync().Result ?? "Empty content");
                _log.Error("Block service faulted");

                httpClient.Dispose();
                return false;
            }

            _log.Success(result.Result?.Content?.ReadAsStringAsync().Result ?? "Empty content");
            _log.Information("Waiting 3 seconds");
            httpClient.Dispose();

            Thread.Sleep(3000);
            _log.Information("Waiting 3 seconds finished");
            _log.Information("Block service finished");

            return true;
        }
Пример #3
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public bool Execute()
        {
            var decryptedPassword = EncrytionHelper.Decrypt(SftpPassword);
            var client            = new SshClient(SftpHost, SftpLogin, decryptedPassword);

            client.Connect();
            var termkvp = new Dictionary <TerminalModes, uint>();

            termkvp.Add(TerminalModes.ECHO, 53);

            _log.Information("Execute FolderBackupTask begin");
            var shellStream = client.CreateShellStream("xterm", 80, 24, 800, 600, 1024, termkvp);

            SwithToRoot(decryptedPassword, shellStream);
            var backupfolder = GetBackupFolderPath();

            WriteStream($"mkdir {backupfolder}", shellStream);
            var result = ReadStream(shellStream);

            _log.Information(result);

            WriteStream($"cp -r {FromPath}/* {backupfolder}", shellStream);
            result = ReadStream(shellStream);

            _log.Information(result);
            _log.Success("Execute FolderBackupTask finished!");

            client.Disconnect();
            return(true);
        }
Пример #4
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public virtual bool Execute()
        {
            var decryptedPassword = EncrytionHelper.Decrypt(SshPassword);
            var client            = new SshClient(SshHost, SshLogin, decryptedPassword);

            client.Connect();

            var termkvp = new Dictionary <TerminalModes, uint>();

            termkvp.Add(TerminalModes.ECHO, 53);

            var shellStream = client.CreateShellStream("xterm", 80, 24, 800, 600, 1024, termkvp);

            SwitchToRoot(decryptedPassword, shellStream);
            WriteStream($"systemctl {GetCommandName()} {ServiceName} -l", shellStream);

            var result = ReadStream(shellStream);

            _log.Information(result);

            if (IsWaitStatusChange())
            {
                WaitStatusChange(shellStream);
            }

            _log.Success("Execute systemctl finished!");
            client.Disconnect();
            return(true);
        }
Пример #5
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public bool Execute()
        {
            var decryptedPassword = EncrytionHelper.Decrypt(SftpPassword);
            var sftpClient        = new SftpClient(SftpHost, SftpLogin, decryptedPassword);

            sftpClient.Connect();
            _log.Information("Files copy begin");

            _filesTotalSize  = GetTotalSize();
            _filesCopiedSize = _filesTotalSize;

            UploadDirectory(sftpClient, FromPath, ToPath);
            sftpClient.Disconnect();
            sftpClient.Dispose();

            _log.Success("Files copy success");
            return(true);
        }
Пример #6
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public bool Execute()
        {
            var httpClient = new HttpClient();
            var result     = httpClient.GetAsync(UnlockServiceUrl);

            result.Wait();

            if (!result.Result.IsSuccessStatusCode)
            {
                _log.Warning(result.Result?.Content?.ReadAsStringAsync().Result ?? "Empty content");
                _log.Error("Unlock service faulted");

                httpClient.Dispose();
                return(false);
            }

            _log.Success(result.Result?.Content?.ReadAsStringAsync().Result ?? "Empty content");
            _log.Information("Unlock service finished");

            httpClient.Dispose();
            return(true);
        }
Пример #7
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Cmd_OutputDataReceived(object sender, DataReceivedEventArgs e)
 {
     _log.Information(e.Data);
 }