Моя цель: просто отразить каталог резервных копий базы данных на другом сервере
Подход: используйте оператор Robocopy, содержащийся в запланированной задаче
robocopy "C:\MylocalDirBackup" "\\MY.IP\DatabaseBackupsShare" /mir /z /log:"C:\MyLocalDIR\RobocopyTestLog.txt"
Окружающая среда:
Тесты:
Проблема !: При запуске команды Robocopy из запланированной задачи возникает следующая ошибка:
2013/10/22 20:04:57 ERROR 1326 (0x0000052E) Accessing Destination Directory \\MY.IP\DatabaseBackupsShare\ Logon failure: unknown user name or bad password.
Я нашел несколько других людей, у которых были похожие проблемы, и последовал их советам: http://social.technet.microsoft.com/Forums/scriptcenter/en-US/b591346e-3ed0-4ed1-9453-24851ebe1bb1/scheduling-robocopy-to-run-at-system-startup?forum=ITCG
Любая помощь с благодарностью получена. Я думал, это будет быстрая задача ...
Когда я делал что-то подобное, мне не удавалось заставить его работать без предварительного сопоставления диска.
Действие 1 в Планировщике заданий:
net use z: \\MY.IP\DatabaseBackupsShare mypass /user:myuser
Действие 2 в Планировщике заданий:
robocopy "C:\MylocalDirBackup" z: /mir /z /log:"C:\MyLocalDIR\RobocopyTestLog.txt"
Поскольку вы храните пароль - ew - используйте непривилегированную учетную запись, а не администратора, и дайте этой учетной записи надежный пароль, минимально возможные привилегии для задачи и т. Д.
Убедившись, что планировщик задач действительно использует ожидаемую учетную запись, но все еще не работает, я пришел к решению, использующему подход сквозной аутентификации.
Robocopy успешно запускается, когда задача выполняется под этим новым пользователем.
вы указываете учетную запись, используемую в запланированной задаче? Или вы используете локального пользователя? Я с @Katherine не храню учетные данные в скрипте. Если вы укажете их в задаче, вы можете указать ей использовать привилегированную учетную запись. Таким образом, вы не храните его в легко доступном пространстве, и вы можете запускать сценарий с другой учетной записью при входе в систему ...
Я бы опубликовал это как комментарий / ответ, но у меня недостаточно репутации для этого.
Как именно вы запускаете запланированное задание?
Когда я выполняю запланированные задачи с помощью robocopy, я помещаю всю команду robocopy в файл .bat, а затем использую его для запланированной задачи. Другими словами, я НЕ планирую robocopy.exe и не указываю параметры времени выполнения - я просто планирую файл .bat. Таким образом можно избежать множества проблем с синтаксисом.