Как запланировать azcopy на windows планировщик задач? - PullRequest
0 голосов
/ 26 февраля 2020

Цель Синхронизация моего виртуального диска (общий файловый ресурс Azure) с контейнером хранения больших двоичных объектов Azure

Решение В этом решении я использую azcopy , Когда я запускаю azcopy с моим командным файлом create, все работает правильно.

Но я также хочу запланировать это, как каждую ночь. Для этого я буду использовать windows планировщик задач.

Windows планировщик задач правильно запускает файл bat. Мой bat-файл также создает лог-файл. Выходные данные в лог-файле отличаются, когда я запускаю вручную по сравнению с планировщиком задач.

Пакетный файл:

@echo off
IF EXIST C:\inetpub\wwwroot\tasks\azcopy_logs.txt (
    del C:\inetpub\wwwroot\tasks\azcopy_logs.txt
)
set LOGFILE=C:\inetpub\wwwroot\tasks\azcopy_logs.txt
call :LOG > %LOGFILE%
exit /B

:LOG

SET source="Y:\my-folder"
echo %source%
SET dest=^"https://TEST.blob.core.windows.net/my-container/?sv=2019-02-02^&ss=bfqt^&srt=sco^&sp=rwdlacup^&se=2120-02-26T14:56:15Z^&st=2020-02-26T06:56:10Z^&spr=https^&sig=TEST^"

echo %dest%

azcopy.exe sync %source% %dest%


exit

Выход при запуске вручную

"Y:\my-folder"
"https://TEST.blob.core.windows.net/my-container/?sv=2019-02-02&ss=bfqt&srt=sco&sp=rwdlacup&se=2120-02-26T14:56:15Z&st=2020-02-26T06:56:10Z&spr=https&sig=TEST"

Job a84acee9-1796-f44b-4852-530d052db5a0 has started
Log file is located at: C:\Users\x\.azcopy\a84acee9-1796-f44b-4852-530d052db5a0.log


0 Files Scanned at Source, 0 Files Scanned at Destination
334 Files Scanned at Source, 672 Files Scanned at Destination, 2-sec Throughput (Mb/s): 0
The source and destination are already in sync.

Выход выполняется из планировщика задач

"Y:\my-folder"
"https://TEST.blob.core.windows.net/my-container/?sv=2019-02-02&ss=bfqt&srt=sco&sp=rwdlacup&se=2120-02-26T14:56:15Z&st=2020-02-26T06:56:10Z&spr=https&sig=TEST"

Cannot perform sync due to error: sync must happen between source and destination of the same type, e.g. either file <-> file, or directory/container <-> directory/container

Планировщик задач xml определение

 <?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2020-02-25T13:30:25.4791113</Date>
    <Author>my-user</Author>
    <URI>\azcopy\my task name</URI>
  </RegistrationInfo>
  <Triggers>
    <CalendarTrigger>
      <StartBoundary>2020-02-25T13:29:16</StartBoundary>
      <Enabled>true</Enabled>
      <ScheduleByDay>
        <DaysInterval>1</DaysInterval>
      </ScheduleByDay>
    </CalendarTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>my-user-id</UserId>
      <LogonType>Password</LogonType>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>true</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT1H</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>C:\inetpub\wwwroot\tasks\azcopy.bat</Command>
      <WorkingDirectory>C:\inetpub\wwwroot\tasks\</WorkingDirectory>
    </Exec>
  </Actions>
</Task>

1 Ответ

0 голосов
/ 26 февраля 2020

Наконец проблема найдена и решена.

Windows Планировщик задач не имеет разрешений на смонтированный azure общий файловый диск.

Решение: Изменено Диск soruce (SET source = "Y: \ my-folder") по пути UN C (SET source = "\ TEST.file.core. windows .net \ my-container \ my-folder")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...