У меня есть файл .bat S:\BACKUP_db\copytofileserver.bat, который берет некоторые файлы и архивирует их на сетевой диск. Его первая команда - удалить старую резервную копию по определенному сетевому пути, затем упаковать файлы в папку S:\BACKUP_db. Увидеть:
echo ================================================== >> log.txt
echo %date%, %time%: Backup started >> log.txt
set dow=%date:~0,3% >> log.txt
echo %time%: deleting existing backup... >> log.txt
del /F /S /Q /A "\\192.168.1.249\homes\backup\%dow%.7z" >> log.txt
echo %time%: OK >> log.txt
echo %time%: packing and saving new backup... >> log.txt
if exist *.Backup S:\BACKUP_db\7za a -t7z -mx=1 "\\192.168.1.249\homes\backup\%dow%.7z" S:\Backup_db\*.Backup -m0=BCJ2 -m1=LZMA:d23 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3 >> log.txt
echo %time%: OK >> log.txt
echo %time%: deleting local backup files... >> log.txt
del /F /S /Q /A S:\backup_db\*.Backup >> log.txt
echo %time%: OK >> log.txt
echo %date%, %time%: Backup finished >> log.txt
Когда я запускаю этот файл .bat вручную, он работает как шарм (файл очень большой, около 50 ГБ, при архивации он имеет около 5 ГБ), однако, когда я запускаю этот файл .bat в задании планировщика Windows, он запускается нормально, удаляет файлы в сетевом расположении, но затем всегда застревает во время выполнения программы 7zip. Планировщик Windows сообщает, что результат последнего запуска = 0x41306.
Настройки задачи планировщика Windows кажутся правильными: запускать только при входе пользователя в систему, "запускать с наивысшими привилегиями" не имеет значения и т.д.
Странно, раньше это работало, сейчас застревает, и я понятия не имею, почему. Иногда в сетевой папке создается 16-мегабайтный ZIP-файл, иногда 2-гигабайтный файл, который кажется случайным.
второй раунд: ну, это то, что произошло сейчас - я установил файл bat для запуска в указанное время и наблюдал за черным окном с моими выполняемыми командами. Снова произошел сбой, файл был создан: "\192.168.1.249\homes\qi\BackupQIostra\po .7z", он имеет 0,6 ГБ, предполагается, что он должен иметь не менее 5 ГБ. Также в файле bat я заменил все локальные пути на «% ~ dp0», как и предлагалось, без изменений. Вывод файла журнала:
==================================================
po 04. 08. 2014, 11:00:00,40: Backup started
11:00:00,44: deleting existing backup...
Deleted file - \\192.168.1.249\homes\backup\po .7z
11:00:00,49: OK
11:00:00,50: packing and saving new backup...
после этого я запускаю файл .bat двойным щелчком мыши и наблюдаю за тем, что происходит, архивирование проходит успешно, файл 5 ГБ создается, вывод журнала завершен:
==================================================
po 04. 08. 2014, 11:37:37,60: Backup started
11:37:37,61: deleting existing backup...
Deleted file - \\192.168.1.249\homes\backup\po .7z
11:37:37,63: OK
11:37:37,63: packing and saving new backup...
7-Zip (A) 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Scanning
Creating archive \\192.168.1.249\homes\backup\po .7z
Compressing 20225_20140804030000 - Copy.Backup
Compressing 20225_20140804030000.Backup
Everything is Ok
12:53:59,52: OK
12:53:59,52: deleting local backup files...
Deleted file - S:\BACKUP_db\20225_20140804030000 - Copy.Backup
Deleted file - S:\BACKUP_db\20225_20140804030000.Backup
12:54:02,18: OK
po 04. 08. 2014, 12:54:02,18: Backup finished