Azure启动任务并不总是触发

时间:2015-03-30 06:57:08

标签: azure azure-worker-roles startupscript

使用WorkerRole,我有两个已定义的启动任务。在第一个中,防火墙规则,cygwin下载和安装以及调用powershell脚本是从.cmd文件执行的。

我看到的问题是"有时",它没有被执行。我可以运行部署,它会工作,然后另一个它不会。日志没有提供任何帮助。

我已经尝试确保文件编码是正确的,但似乎没有任何问题的一致性。

.cmd文件如下:

netsh advfirewall firewall add rule name="SSH" dir=in action=allow service=any enable=yes profile=any localport=22 protocol=tcp
IF EXIST C:\alreadySetup\NUL GOTO ALREADYSETUP
    mkdir c:\alreadySetup
    mkdir e:\approot\uploads
    set remoteuser=user
    set remotepassword=password
    net user %remoteuser% %remotepassword% /add 
    net localgroup Administrators %remoteuser% /add
    .\Startup\ntrights.exe +r SeServiceLogonRight -u "%remoteuser%"
    .\Startup\ntrights.exe +r SeServiceLogonRight -u "Administrators"
    netsh advfirewall firewall add rule name="SSH" dir=in action=allow service=any enable=yes profile=any localport=22 protocol=tcp 
    powershell -executionpolicy unrestricted -file .\Startup\DownloadBlob.ps1
    c:\cygwin\bin\dos2unix.exe e:\approot\Startup\startSSHd.sh
    schtasks /CREATE /TN "StartSSHd" /SC ONCE /SD 01/01/2020 /ST 00:00:00 /RL HIGHEST /RU %remoteuser% /RP %remotepassword% /TR "c:\cygwin\bin\bash --login /cygdrive/e/approot/startup/startSSHd.sh" /F 
    icacls d:\windows\system32\tasks\StartSSHd /grant:r Administrators:(RX)
    schtasks /RUN /TN "StartSSHd"   

    schtasks /CREATE /TN "CopyAndCleanupSFTPFiles" /SC MINUTE /SD 01/01/2000 /ST 00:00:00 /RL HIGHEST /RU %remoteuser% /RP %remotepassword% /TR "e:\approot\Startup\CopyAndCleanupSFTPFiles.cmd" /F 
    schtasks /RUN /TN "CopyAndCleanupSFTPFiles"

:ALREADYSETUP

值得注意的是,当它没有运行时,甚至没有创建alreadySetup文件夹,这是脚本的第一部分。

1 个答案:

答案 0 :(得分:0)

不要在脚本中使用驱动器号E :.部署有时使用E:,有时使用F:。我认为这就是你的脚本崩溃/失败的原因。