Войти

Показать полную графическую версию : Batch в Scheduler Task


Endy1
31-03-2011, 15:41
Люди, спасите меня от сумасшествия :) Я не могу засунуть .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

Endy1
31-03-2011, 16:00
Я так и делаю. Доступ к 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) (которая сделает это сама).

Endy1
31-03-2011, 16:53
что-то я не понял, зачем использовать опцию start backup и вручную создавать задание, если у команды Wbadmin есть опция enable backup (которая сделает это сама). »


Я пробовал делать через enable backup, по этой статье: http://www.oszone.net/12541/wbadmin
Но почему-то не получается. Может быть она не работает с сетевыми дисками?

А на счёт Scheduler Task что-то стало проясняться. Если поставить галочку, чтобы задача запускалась когда пользователь находится в системе - прекрасно работает. А когда стоит галка "Запускать когда пользователь в системе или нет" - скрипт не срабатывает.

Может кто-то поделиться работающим решением? Более чем уверен, что 99% читателей форума пользуются бекапом, и часть из них самописным.

Petya V4sechkin
31-03-2011, 16:57
Может быть она не работает с сетевыми дисками?
А при чем тут сетевые диски?

Endy1
31-03-2011, 17:01
\\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) посмотрите.

Endy1
01-04-2011, 10:31
Здесь посмотрите. »


Увы, но это решение не подошло. Те параметры, что там советуется изменить у меня уже установлены.

Endy1
01-04-2011, 11:05
Может я просто не правильно его запускаю? Вот, что я указываю во вкладке 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 (на событии правой кнопкой мыши -> Копировать -> Копировать сведения как текст).

Endy1
01-04-2011, 13:18
В этом логе нет событий от Microsoft-Windows-Backup. А если смотреть в Планировщике задач - History - туда со вчерашнего дня ничего не пишется. А до этого все запуски были успешными.

Совсем запутал меня этот Windows. Насколько же в Linuxe всё проще и понятнее!

Petya V4sechkin
01-04-2011, 13:33
Endy1, извиняюсь, другой раздел: Журналы приложений и служб -> Microsoft -> Windows -> Backup

Endy1
01-04-2011, 17:23
Вам ли извиняться... Я очень благодарен Вам за помощь!

За сегодняшний день нет ни одного лога. Но в самом планировщике вижу, что задача выполняется с ошибкой (значение > 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)
С какой?

Busla
01-04-2011, 19:32
Вроде бы, сетевой путь должен завершаться обратным слешем
И зачем вы эту мартёшку построили: запускать bat, из него ещё один cmd, в котором выполнять wbadmin - можно в задании сразу указать wbadmin

Endy1
06-04-2011, 12:24
С какой? »

0х41306

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