Показать полную графическую версию : Batch в Scheduler Task
Люди, спасите меня от сумасшествия :) Я не могу засунуть .bat скипт в Планировщик задач (Scheduler Task). Система Windows Server 2008.
Скприптик простой, из одной строчки
@ echo off
cmd.exe /c wbadmin start backup -backupTarget:\\192.168.66.136\win2k8\Fullbackup -include:C: -vssFull
Сохранил его на диске C: под именем backup.bat
Создал в Scheduler Task правило, чтобы он запускался каждый день в 3.00 ночи. Но не запускается зараза такая!
Я под Виндовс никогда не писал. И планировщиком до сих пор не пользовался. Может есть какие хитрости, о которых я не знаю?
Помогите! Help!
Petya V4sechkin
31-03-2011, 15:44
Endy1, запускайте задание от имени учетной записи, у которой есть доступ к 192.168.66.136
Я так и делаю. Доступ к 192.168.66.136 с паролем администратора. И задача выполняется с аккаунтом Администратор + стоит галочка Выполнять с высокими привилегиями.
Самое интересное, что сама задача исполняется. В нужное время напротив нее появляется надпись Running. А вот бекап не происходит. Подозреваю, что я что-то упустил в скрипте.
Под Linux я чаще пишу, а вот под Win впервые. Приходится пробираться как сквозь тёмную комнату :)
Petya V4sechkin
31-03-2011, 16:36
Endy1, что-то я не понял, зачем использовать опцию start backup и вручную создавать задание, если у команды Wbadmin есть опция enable backup (http://technet.microsoft.com/en-us/library/cc742130(WS.10).aspx) (которая сделает это сама).
что-то я не понял, зачем использовать опцию start backup и вручную создавать задание, если у команды Wbadmin есть опция enable backup (которая сделает это сама). »
Я пробовал делать через enable backup, по этой статье: http://www.oszone.net/12541/wbadmin
Но почему-то не получается. Может быть она не работает с сетевыми дисками?
А на счёт Scheduler Task что-то стало проясняться. Если поставить галочку, чтобы задача запускалась когда пользователь находится в системе - прекрасно работает. А когда стоит галка "Запускать когда пользователь в системе или нет" - скрипт не срабатывает.
Может кто-то поделиться работающим решением? Более чем уверен, что 99% читателей форума пользуются бекапом, и часть из них самописным.
Petya V4sechkin
31-03-2011, 16:57
Может быть она не работает с сетевыми дисками?
А при чем тут сетевые диски?
\\192.168.66.136\win2k8\Fullbackup - это место на Linux машине, через Samba
Petya V4sechkin
01-04-2011, 09:35
Если поставить галочку, чтобы задача запускалась когда пользователь находится в системе - прекрасно работает. А когда стоит галка "Запускать когда пользователь в системе или нет" - скрипт не срабатывает.
Здесь (http://social.technet.microsoft.com/forums/en-US/itprovistasecurity/thread/c55de006-3ce9-4a3b-ad00-80e9bce0b8cf) посмотрите.
Здесь посмотрите. »
Увы, но это решение не подошло. Те параметры, что там советуется изменить у меня уже установлены.
Может я просто не правильно его запускаю? Вот, что я указываю во вкладке Actions
Programm/script: C:\Windows\System32\cmd.exe
Add arguments: C:\backup.bat
Start in: C:\
Пробовал и так:
Programm/script: C:\backup.bat
Add arguments: -
Start in: -
Внутри скрипта такая строчка:
@ echo off
C:\Windows\System32\cmd.exe wbadmin start backup -backupTarget:\\192.168.66.136\win2k8\Fullbackup -include:C: -vssFull -quiet
Ещё пробовал запускать cmd.exe c ключём /c
Ни одна попытка не увенчалась успехом :(
Petya V4sechkin
01-04-2011, 11:35
Endy1, приведите ошибки из журнала событий (http://oszone.net/10680) -> Журналы Windows -> Приложение -> источник Microsoft-Windows-Backup (на событии правой кнопкой мыши -> Копировать -> Копировать сведения как текст).
В этом логе нет событий от Microsoft-Windows-Backup. А если смотреть в Планировщике задач - History - туда со вчерашнего дня ничего не пишется. А до этого все запуски были успешными.
Совсем запутал меня этот Windows. Насколько же в Linuxe всё проще и понятнее!
Petya V4sechkin
01-04-2011, 13:33
Endy1, извиняюсь, другой раздел: Журналы приложений и служб -> Microsoft -> Windows -> Backup
Вам ли извиняться... Я очень благодарен Вам за помощь!
За сегодняшний день нет ни одного лога. Но в самом планировщике вижу, что задача выполняется с ошибкой (значение > 0).
Я решил поропробовать добавить задачу с помощью ENABLE BACKUP, но даже так он даёт ошибку. Набираю в командной строке
WBADMIN ENABLE BACKUP -addTarget:\\192.168.66.136\win2k8\Fullbackup: -schedule:16:11 -include:c: -systemState -vssFull
Что же я не так делаю??
Petya V4sechkin
01-04-2011, 18:55
задача выполняется с ошибкой (значение > 0)
С какой?
Вроде бы, сетевой путь должен завершаться обратным слешем
И зачем вы эту мартёшку построили: запускать bat, из него ещё один cmd, в котором выполнять wbadmin - можно в задании сразу указать wbadmin
Petya V4sechkin
06-04-2011, 13:17
Endy1, жаль, код ни о чем не говорит (The last run of the task was terminated by the user).
Во-первых, уберите cmd.exe /c из батника - Busla прав, лишнее это.
Далее, много вариантов в этой теме (http://social.technet.microsoft.com/Forums/en-US/winservermanager/thread/d47d116e-10b9-44f0-9a30-7406c86c2fbe) (если с английским дружите).
aleh2002
15-10-2012, 10:32
Было такое дело. Сделал так:
для запуска задачи с разлогиненным пользователем
1. поставить галку Run whether user is logged on or not
2. В пункте If the task is already running ...выбрать Run a new instance in parallel
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.