none
powershell медленное выполнение скрипта RRS feed

  • Вопрос

  • Написал скрипт на powershel ребята помогли с гугл вопросов
    $env:PGPASSFILE = "v:\backup\pgpass.conf"
    stop-service "1C:Enterprise 8.2 Server (x86-64) Agent"

    cd "c:\Program Files\PostgreSQL\9.0.3-3.1C\bin\"
    $base = "uat","docu","ypp"
    for ($i=0;$i -lt $base.Length;$i++) {
    $namebd = $base[$i]
    start .\pg_dump.exe -U,postgres,$namebd -NoNewWindow -Wait -RedirectStandardOutput v:\backup\${namebd}_db
    }

    start-service "1C:Enterprise 8.2 Server (x86-64) Agent"
    $date = get-date -format 'yyyy-MM-dd'
    cd "c:\BIN\7-ZipPortable\App\7-Zip\"
    for ($i=0;$i -lt $base.Length;$i++) {
    $namebd = $base[$i]
    .\7z.exe a -mx=1,v:\backup\${namebd}\${date}_${namebd}_db.7z v:\backup\${namebd}_db
    Remove-Item v:\backup\${namebd}_db
    }
    $date = 7
    Get-ChildItem v:\backup\ -Filter *.7z -Recurse | where {$_.lastwritetime -le ((get-date).AddDays(-$date))} | Remove-Item

    Выполняю скрипт из powershell все нормально где то 1.5 часа. Поставил в задания выполняется очень долго не могу дождаться конца выполнения при этом процессор грузится на 1-2% не могу понять почему так. Еще раз повторюсь если я открываю консоль перехожу в каталог где лежит скрипт и запускаю его .\backup.ps1 все делается примерно за 1.5. Операционная система windows 2008R2
    8 марта 2013 г. 11:25

Ответы

Все ответы

  •  "v:\backup\pgpass.conf", v:\backup\ - Сетевой путь? Попробовать заменить на полный путь (\\server\share\backup\) и проверить,что учетная запись имеет права доступа(которая указанна в Task Schuduler) к сетевой папке. 

    9 марта 2013 г. 7:50
    Отвечающий
  • это локальный путь.  право доступа есть на этот диск
    9 марта 2013 г. 9:05
  • прова на файл тоже есть "v:\backup\pgpass.conf"
    9 марта 2013 г. 9:06
  • что хочу добавить он видит и диск v и файл pgpass так у меня как вы поняли три базы дам первой и второй он делает значит доступ к бд и диску есть но дамп первой базы весит 67мб вторй 200мб где то 30 минут а дамп третей базы 20гб так вот когда скрипт запускаю я то это все делается быстро а когда скрипт запускается автоматически то это все очень долго  
    я вижу что через полтора часа  что первый дамп он слил второй тоже а третий слил 150мб и продолжает его сливать это когда скрипт запустился автоматически и процессор грузится на 1-2%. а когда я запускаю скрипт сам он все делает за полтора часа вместе с архивированием и процессор грузится 12-14%.
    9 марта 2013 г. 9:06
  • Попробуйте повысить приоритет процесса - Is there any way for a win2k8 scheduled task to have normal priority IO?:

    • Create the task
    • Right click on the task and "export" it
    • Edit the task.xml file that you just exported
    • You will find a line similar to <Priority>7</Priority>
    • Change the value to a normal priority (between 4-6).  A table of the potential values are here
    • In the task scheduler, delete the task you initially created
    • In the task scheduler, in the actions area, import the task from the XML file

    9 марта 2013 г. 12:05
    Отвечающий