Задача: автоматически делать бэкап наработанных файлов по завершению работы ПК.
ОС Windows 10. Необходимо копировать файлы из каталога после ежедневной работы за ПК. Решено это сделать по завершению работы ПК.
Скрипт, который делает бэкап на Windows:
@echo off set dd=%DATE:~0,2% set mm=%DATE:~3,2% set yyyy=%DATE:~6,4% set curdate=%dd%-%mm%-%yyyy% net use Y: /del /yes net use Y: \\ip_address\storage2 /USER:username password xcopy "c:\base\*.*" "\\ip_address\storage2\bk\%curdate%\" /E /F /H /R /K /Y /D net use Y: /del /yes
Запустить планировщик задач командой taskschd.msc. Создать задачу с выполнением по триггеру. Ключевые данные: Система, пользователь user32, событие 1074 (это событие завершение работы windows).
Возможные ошибки при выполнение задачи в планировщике Windows.
Добавлял задание в планировщик Windows, чтобы оно выполнялось при выключении ПК. ОС Windows 10.
Ошибка 0xC0000142 Планировщику заданий не удалось запустить задачу "\backup", так как пользователь "DESKTOP-4IBO1T8\Roman" не был зарегистрирован в системе, когда были выполнены все необходимые условия для запуска. Действие пользователя: войдите в систему или измените определение задачи таким образом, чтобы ее запуск был возможен без входа пользователя в систему. Ошибка 0x103
Проблема была в неверно выбранном пользователя и некорректных настройках задачи. Пример, как должен выглядеть запуск от пользователя:
На Windows 8 реализовать данную задачу у меня не получилось, т.к. при завершении работы скрипт вроде запускается, но не успевает отработать или вообще не отрабатывает. В некоторых случаях скрипт не срабатывал, т.к. происходило сразу завершение сеанса пользователя, от которого создавался скрипт и от которого выполнялся. Я пробовал выбирать пользователя СИСТЕМА, но в windows 8 этот вариант не сработал. Зато в windows 8 всё отрабатывало при загрузке ОС. Только ключевые данные для создания задачи в windows 8 у меня были другие, т.к. события 1074 по завершению работы ОС в журнале я не видел:
Ключевые данные (windows 8): Система, пользователь winlogon, событие 7002 (это событие происходит при завершении работы windows).