スケジュール済みタスクから PHP/Perl/ASP.NET スクリプトを呼び出すには

Created:

2016-11-16 12:48:52 UTC

Modified:

2017-08-16 18:30:15 UTC

1

Was this article helpful?


Have more questions?

リクエストを送信

スケジュール済みタスクから PHP/Perl/ASP.NET スクリプトを呼び出すには

Applicable to:

  • Plesk 11.5 for Linux
  • Plesk 12.0 for Windows
  • Plesk 11.5 for Windows
  • Plesk 10.4 for Windows

質問

スケジュール済みタスクから PHP/ASP.NET/その他のスクリプトを呼び出すにはどうすればよいですか?

回答

適切なプログラムでスクリプトを実行する

スクリプトがインタープリタ(PHP や Perl)で実行可能で、HTTP 要求にパラメータを定義する必要がない場合、このスクリプトを呼び出す新しいスケジュール済みタスクを作成し、スクリプトのパスをオプションに指定します

/usr/bin/perl /var/www/vhosts/domain.test/cgi-bin/crontasks/cron.pl

Windows の場合:

実行ファイルのパス "C:\Program Files (x86)\Parallels\Plesk\Additional\Perl\bin\perl.exe"
引数: "C:\Inetpub\vhosts\domain.test\cgi-bin\crontasks\cron.pl"

スクリプトを呼び出す HTTP 要求を作成する

スクリプトを呼び出すもう 1 つの方法に、必要なスクリプトへの HTTP 要求を実行するタスクを作成する方法があります

/usr/bin/wget -qq -O /dev/null http://domain.test/script.php

または

/usr/bin/curl -sL http://domain.test/script.php >/dev/null

Windows では、PowerShell 経由で HTTP 要求を作成できます

実行ファイルのパス: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
引数: -c "(new-object system.net.webclient).downloadstring('http://domain.test/script.aspx')"

重要なお知らせ

  1. ユーティリティのパスは、 wget だけではなく、 /usr/bin/wget のようにフルパスで指定する必要があります。
  2. chroot シェル経由のシェルアクセスを許可するようにドメインをセットアップする場合(Linux)、クローンジョブに定義されたコマンドは仮想ホストディレクトリにセットアップされた chroot 環境内でルックアップされます。このような環境には、最低限のユーティリティと言語インタープリタ(Perl/PHP)が用意されていますが、ネットワークユーティリティ(curl/wget)は含まれません。そのため、コマンドの実行は失敗します。これを回避するために、KB 記事 #115889 の指示に従って、グローバルサーバスコープ内の全ユーザに対してスケジュール済みタスクを実行するようにサーバをセットアップすることができます

以下も参照してください

タスクのスケジュール方法について詳しくは、『 Plesk 管理者ガイド 』の「 タスクをスケジューリングする 」を参照してください。

他にご質問がございましたら、リクエストを送信してください
ログインしてコメントを残してください。