none
Дата в логе

    Вопрос

  • Привет, всем делаю скрипт, он работает, не подскажите, как сделать и что добавит, что бы в лог выводилась текущая дата и текст выполнения скрипта, делаю вот так:

    function backup {
    $srcPath = "C:\1C_Bases\Тест\*"
    $dstPath = "D:\1C_Archive\"
    $dstName = "$(Get-Date -Format "yyyyMMdd(1)").zip"
    & "C:\Program Files\7-Zip\7z.exe" a $dstPath$dstName $srcPath -r -x!*Infrastrucutre -x!Тест
    }

    #stop-service W3SVC
    start-job -name "1cterminate" -scriptblock {
    $process = "1cv8c.exe"
    while ($true){
    <#Get-WmiObject Win32_Process -Filter "name = '$process'" | Where {$_.Commandline -match "ЗУП Квадра"} | foreach {$_.Terminate()}
    Get-WmiObject Win32_Process -Filter "name = '$process'" | Where {$_.Commandline -match "ЗУП КПБС"} | foreach {$_.Terminate()}
    Get-WmiObject Win32_Process -Filter "name = '$process'" | Where {$_.Commandline -match "ЗУП КПБС-СОФТ"} | foreach {$_.Terminate()}
    Get-WmiObject Win32_Process -Filter "name = '$process'" | Where {$_.Commandline -match "ЗУП Крикунов и Партнеры"} | foreach {$_.Terminate()}
    Get-WmiObject Win32_Process -Filter "name = '$process'" | Where {$_.Commandline -match "БУХ Квадра"} | foreach {$_.Terminate()}
    Get-WmiObject Win32_Process -Filter "name = '$process'" | Where {$_.Commandline -match "БУХ КПБС"} | foreach {$_.Terminate()}
    Get-WmiObject Win32_Process -Filter "name = '$process'" | Where {$_.Commandline -match "БУХ КПБС-СОФТ"} | foreach {$_.Terminate()}
    Get-WmiObject Win32_Process -Filter "name = '$process'" | Where {$_.Commandline -match "БУХ Крикунов и Партнеры"} | foreach {$_.Terminate()}
    Get-WmiObject Win32_Process -Filter "name = '$process'" | Where {$_.Commandline -match "БУХ Рогожский Вал"} | foreach {$_.Terminate()}
    Get-WmiObject Win32_Process -Filter "name = '$process'" | Where {$_.Commandline -match "БУХ Элбиус"} | foreach {$_.Terminate()}#>
    Get-WmiObject Win32_Process -Filter "name = '$process'" | Where {$_.Commandline -match "!БУХ Обучение"} | foreach {$_.Terminate()} 
    Start-Sleep -s 2
    }
    }
    Start-Sleep -s 45

    backup | Out-File C:\1C_Bases\.Infrastrucutre\Utilities\ArchiveBase.log  -Append 
    get-job "1cterminate" | stop-job
    get-job "1cterminate" | remove-job -force
    #start-service W3SVC

Ответы

  • я уже переписывал этот скрипт 

    вывод даты "$(get-date -format u)"

    к слову сказать в прошлой теме в лог должны попадать время, количество ретраев, запущенные процесы и пр.


    The opinion expressed by me is not an official position of Microsoft



    • Изменено Vector BCOModerator 21 мая 2019 г. 13:20
    • Помечено в качестве ответа Revalio 21 мая 2019 г. 15:10
    Модератор
  • убрал из 1cv8с.exe букву "с"и все пошло, то есть он не смог получить имя процесса и двинул дальше, написал что процесс занял и двинул дальше, отбекапил все, а это недобэкапил 
    • Помечено в качестве ответа Vector BCOModerator 23 мая 2019 г. 9:08
  • Как сделать, что бы он убивал все 1С процессы с любыми буквами))
    Поменяйте соответсвующие строки
    $process_name = "1cv8[sc]?"
    $processes = Get-WmiObject Win32_Process | where-object {($_.name -match $process_name) -and ($_.Commandline -match $Bases)}


    The opinion expressed by me is not an official position of Microsoft

    • Помечено в качестве ответа Revalio 23 мая 2019 г. 9:52
    Модератор
  • Да и работает, это классно)) Спасибо, только лог на корейском пишется))

    смените сообщения на вам понятные если большая проблема с английским или если вопрос про проблемы кодировки 7z то у вас есть параметр - Encoding с которым вы можете поиграться и найти необходимый вам вариант значения.

    для меня не понятно если был запрос на оптимизацию, оптимизация была сделана и работает, то почему мы опять обсуждаем скрипт без оптимизации... без кодблоков и отступов...


    The opinion expressed by me is not an official position of Microsoft

    • Помечено в качестве ответа Revalio 21 мая 2019 г. 15:09
    Модератор

Все ответы

  • я уже переписывал этот скрипт 

    вывод даты "$(get-date -format u)"

    к слову сказать в прошлой теме в лог должны попадать время, количество ретраев, запущенные процесы и пр.


    The opinion expressed by me is not an official position of Microsoft



    • Изменено Vector BCOModerator 21 мая 2019 г. 13:20
    • Помечено в качестве ответа Revalio 21 мая 2019 г. 15:10
    Модератор
  • Да и работает, это классно)) Спасибо, только лог на корейском пишется))
  • Да и работает, это классно)) Спасибо, только лог на корейском пишется))

    смените сообщения на вам понятные если большая проблема с английским или если вопрос про проблемы кодировки 7z то у вас есть параметр - Encoding с которым вы можете поиграться и найти необходимый вам вариант значения.

    для меня не понятно если был запрос на оптимизацию, оптимизация была сделана и работает, то почему мы опять обсуждаем скрипт без оптимизации... без кодблоков и отступов...


    The opinion expressed by me is not an official position of Microsoft

    • Помечено в качестве ответа Revalio 21 мая 2019 г. 15:09
    Модератор
  • да поигрался, спасибо, код рабочий
  • да поигрался, спасибо, код рабочий
    Если вопрос решен, отметьте пожалуйста ответ :


    The opinion expressed by me is not an official position of Microsoft

    Модератор
  • Хотел спросить, код который вы написали не убивает порой сессии, зависшие сессии,даже с раз 3
  • Хотел спросить, код который вы написали не убивает порой сессии, зависшие сессии,даже с раз 3

    как правило на штатное (не аварийное) завершения процесса требуется время, так что это вполне нормально что процесс висит 10, 20 секунд перед завершением.

    Можно процессы завершать аварийно и временами восстанавливать бекапы, но лучше так не делать. Так же возможны иногда проблемы с модальными окнами, вспывающие при завершении процесса, но с ними нужно бороться в индивидуальном порядке. У меня нет возможности тестирования упомянутого скрипта, поэтому если возникают проблемы, пишите, подумаем вместе что можно улучшить


    The opinion expressed by me is not an official position of Microsoft

    Модератор
  • нашел какие процессы он не завершает, он не завершает когда пользователь находится в конфигураторе
  • что странно, так как это тоже процесс 1С
  • что странно, так как это тоже процесс 1С
    если вообще не завершает, то можете запустить этот скрипт под пользюком с открытым конфигуратором и посмотреть возможно как раз окно какое-то вылазит по типу "Вы точно уверены что хотите выйти?", "Точно приточно?"...

    The opinion expressed by me is not an official position of Microsoft

    Модератор
  • Я запустил, ноль реакции, он просто не завершает с открытым конфигуратором и все, без каких либо сообщений.
  • Нашел, кое что, протестировал, дело в том что процессы называются по-разному, типа 1cv8.exe, 1cv8с.exe, 1cv8s.exe
  • убрал из 1cv8с.exe букву "с"и все пошло, то есть он не смог получить имя процесса и двинул дальше, написал что процесс занял и двинул дальше, отбекапил все, а это недобэкапил 
    • Помечено в качестве ответа Vector BCOModerator 23 мая 2019 г. 9:08
  • Как сделать, что бы он убивал все 1С процессы с любыми буквами))
  • Как сделать, что бы он убивал все 1С процессы с любыми буквами))
    Поменяйте соответсвующие строки
    $process_name = "1cv8[sc]?"
    $processes = Get-WmiObject Win32_Process | where-object {($_.name -match $process_name) -and ($_.Commandline -match $Bases)}


    The opinion expressed by me is not an official position of Microsoft

    • Помечено в качестве ответа Revalio 23 мая 2019 г. 9:52
    Модератор
  • А вы не знаете в чем может быть дело, вообщем делал бэкапы, разные числа 20 и 21 мая, так вот получилось так, что 20 числа бэкап размером больше чем 21, хотя это непонятно, вроде посчитал строки, размер все равно вывод один куда то пропало 111мб.
    • Изменено Revalio 23 мая 2019 г. 9:28
  • А вы не знаете в чем может быть дело, вообщем делал бэкапы, разные числа 20 и 21 мая, так вот получилось так, что 20 числа бэкап размером больше чем 21, хотя это непонятно, вроде посчитал строки, размер все равно вывод один куда то пропало 111мб.
    не знаю как 1с работает на глубоком уровне + как понимаю в серверной части этого добра могут быть собственные процедуры бекапа, оптимизации и пр. что может увеличивать или уменьшать размеры баз

    The opinion expressed by me is not an official position of Microsoft

    Модератор
  • нет базы располагаются локально на этом же сервере.