2

ファイルをインポートするには、ネットワーク上でリモート スクリプトを実行する必要があります。plink をセットアップして、手動で実行すると必要に応じて機能するようにしました。

plink name@localserver -ssh -i myKey.ppk /home/here/scriptName.sh

コードは ColdFusion で記述しているため、これは CFExecute を使用して CFThread で実行されます。スクリプトを起動しないコードを介して実行すると、cfexecute はエラーになりません。

私の調査では、cfexecute には引数文字列に問題があり、バッチ ファイルを作成し、cfexecute を使用してバッチ ファイルを実行することをお勧めします。

バッチファイルを作成しました。import.bat

C:\inetpub\wwwroot\myapp\plink\plink.exe name@localserver -ssh -i myKey.ppk /home/here/scriptName.sh)

バッチファイルを手動で実行すると、動作します。

import.bat

しかし、cfexecute 経由で実行すると、何もしません。

cfexecute をテストするために、2 つのコマンドを実行しました。1 つ目は作業に必要なもので、2 つ目はテストです。2 つ目は必要に応じて機能します。最初のものは、画面またはログファイルにエラーが発生していません。間違った構文を入力した場合はそうでした。2 つ目は、必要に応じてファイルに書き込むことです。

(以下のコード)

                starting

                <cfoutput>

                <cfexecute name = "C:\inetpub\wwwroot\myapp\plink\import.bat"   errorfile="C:\inetpub\wwwroot\myapp\logs\#timeformat( now(),"HHMMSS") #.log"  ></cfexecute>

                <cfexecute name = "C:\WinNT\System32\netstat.exe"
                            arguments = "-e" 
                            outputFile = "C:\Temp\#timeformat( now(),"HHMMSS") #.txt"
                            timeout = "1">
                    </cfexecute>



                </cfoutput>
                the end
            <cfabort>

どんな考えでも大歓迎です...

ありがとう、ブライアン

4

1 に答える 1

1

試す

<cfexecute name="c:\winNt\system32\cmd.exe"
 arguments="/c C:\inetpub\wwwroot\myapp\plink\import.bat" timeout="100">
</cfexecute> 
于 2014-10-01T14:45:43.560 に答える