Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Запрет вывода окна авторизации

Запрет вывода окна авторизации
Я
   Vladas86
 
26.09.16 - 16:03
Всем привет! Есть рабочий скрипт для бэкапа баз с отправкой ошибок по мейлу. Скрипт работает на серверах, режим авторизации по AD.

Всё работает хорошо, когда пользователь нормально авторизируется в базу, всё бэкапится, если возникают ошибки, я о них узнаю по мейлу. Но  если вдруг авторизация не выполнена, то вылезает окно ввода логина-пароля, процесс висит, скрипт ждёт его завершения, но, естественно, ничего не происходит. Об ошибке я не узнаю и все страдают. Баз много, их список периодически меняется, сервер тоже не один.

Есть ли какой-то способ запретить выводить это окно ввода логина?
 
 
   Митяйский
 
1 - 26.09.16 - 16:31
а сам скрипт возможно здесь показать?
   Vladas86
 
2 - 26.09.16 - 17:15
(1) можно, конечно. вот кусок, который подготавливает аргументы для запуска эски

var fileName = RemoveIllegelPathSymbols(fileNameFormat.FormatWith(this));
var logDirectory = System.IO.Path.Combine(destinationPath, "log");
if (!Directory.Exists(logDirectory)) Directory.CreateDirectory(logDirectory);
backupFileName = System.IO.Path.Combine(destinationPath, fileName + ".dt");
var logFileName = System.IO.Path.Combine(logDirectory, fileName + ".log");
dumpResultFileName = System.IO.Path.Combine(logDirectory, fileName + "-dumpresult.log");
var commandArgs =
    $"DESIGNER /IBConnectionString{Path} /DumpIB \"{backupFileName}\" /DumpResult \"{dumpResultFileName}\" /Out \"{logFileName}\"";

startInfo.WindowStyle = ProcessWindowStyle.Normal;
startInfo.FileName = System.IO.Path.Combine(enterprisePath, "1cv8.exe");
startInfo.RedirectStandardOutput = false;
startInfo.RedirectStandardError = false;
startInfo.UseShellExecute = true;
startInfo.Arguments = commandArgs;

А вот кусок, который запускает предприятие и ждёт завершения

using (var exeProcess = Process.Start(startInfo))
            {
                if (exeProcess == null) return;
                LogResult = $"Process started, PID: {exeProcess.Id}";
                CurrentBackUpState = BackupState.InProgress;
                exeProcess.WaitForExit(whaitForBackUp);
                var exitCode = exeProcess.ExitCode;
                int dumpResult;
                try
                {
                    dumpResult = int.TryParse(File.ReadAllText(dumpResultFileName), out dumpResult) ? dumpResult : -1;
                }
                catch (Exception e)
                {
                    LogResult = e.Message;
                    dumpResult = -1;
                }

                if (CurrentBaseType == BaseType.Server)
                    SetSheduledJobsStatus(false);

                if (!File.Exists(backupFileName) || dumpResult != 0 || exitCode != 0)
                {
                    CurrentBackUpState = BackupState.Error;
                    LogResult = "Process ended whith error";
                    LogFileName = dumpResultFileName;
                }
                else
                {
                    CurrentBackUpState = BackupState.Success;
                }
            }
   Лефмихалыч
 
3 - 26.09.16 - 17:34
(0) давай начнем с того, что выгрузка в dt для резервного копирования не предназначена от слова "совсем".
Файловые базы бэкапятся путем копирования каталога ИБ, а серверные - средствами СУБД.
   Лефмихалыч
 
4 - 26.09.16 - 17:38
http://its.1c.ru/db/metod8dev#content:2922:hdoc
1С:Предприятие поддерживает возможность загрузки/выгрузки информационной базы в файл. Этот механизм предназначен, прежде всего, для получения образа информационной базы независимо от способа хранения данных. Например, загрузка/выгрузка информационной базы в файл может быть использована для преобразования файлового варианта к клиент-серверному.

Иногда этот режим используют, также, для создания резервной копии информационной базы, однако такой вариант его использования обладает рядом недостатков. Основным недостатком такого способа создания резервной копии является необходимость использования однопользовательского режима для осуществления этой операции. При большом объеме информационной базы перерыв в работе пользователей может быть достаточно велик, что не всегда приемлемо.

В зависимости от варианта работы 1С:Предприятия (файловый или клиент-серверный), можно рекомендовать следующие способы создания резервной копии информационной базы:

При использовании файлового варианта 1С:Предприятия 8 можно организовать процесс создания резервной копии информационной базы путем простого копирования файла 1CV8.1CD в отдельный каталог или с использованием программного обеспечения для резервного копирования и восстановления данных. Следует учитывать, что для обеспечения целостности и согласованности данных во время создания резервной копии, работа пользователей с информационной базой должна быть запрещена,  однако время, необходимое на создание резервной копии существенно меньше, чем при использовании выгрузки информационной базы в файл.
При использовании клиент-серверного варианта 1С:Предприятия 8 появляется возможность создания резервной копии информационной базы средствами СУБД. Например, SQL Server позволяет выполнять резервное копирование данных в то время, когда база данных находится в многопользовательском режиме и доступна для всех пользователей.
Использование этих способов дает максимально точную копию состояния информационной базы, что не всегда может быть получено при использовании режима загрузки/выгрузки информационной базы. Например, если в базе данных есть нарушения, то при выгрузке некоторая информация может быть не выгружена, в то время как при копировании будет сохранена вся информация, и после восстановления можно будет выполнить исправление базы данных.

Также существенно уменьшается время нахождения информационной базы в однопользовательском режиме в случае файлового варианта работы 1С:Предприятия 8, а в случае клиент-серверного варианта однопользовательский режим вообще не используется.

Кроме этого положительным моментом является то, что при использовании перечисленных способов, можно применять различные специализированные программные средства для создания резервных копий.
   Vladas86
 
5 - 26.09.16 - 17:50
(3) (4) Мне не всегда удобно делать бекап средствами СУБД. У меня есть и постгрес, и SQL, и файловые базы. Все базы успевают выгружаться в нерабочее время, а на случай критический ошибок у меня есть зеркалирование баз и опять же автоматические отчеты о тестировании.

Кстати, описанная выше ситуация появляется и при запуске тестирования.
   Vladas86
 
6 - 06.10.16 - 12:12
Решил проблему. Проверяю текст главного окна запущенного процесса, если текст - пустая строка, то всё нормально. Если не пустая, то открыто окно ввода авторизации.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует