Лучший отвечающий
powershell медленное выполнение скрипта

Вопрос
-
Написал скрипт на 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 2008R28 марта 2013 г. 11:25
Ответы
-
Попробуйте повысить приоритет процесса - 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
- Предложено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 11 марта 2013 г. 13:05
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 12 марта 2013 г. 9:09
9 марта 2013 г. 12:05Отвечающий
Все ответы
-
"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
- Предложено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 11 марта 2013 г. 13:05
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 12 марта 2013 г. 9:09
9 марта 2013 г. 12:05Отвечающий