Article ID: 115292, created on Nov 1, 2013, last review on Jan 16, 2015

  • Applies 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 管理者ガイド』の「タスクをスケジューリングする」を参照してください。

56797cefb1efc9130f7c48a7d1db0f0c a914db3fdc7a53ddcfd1b2db8f5a1b9c 29d1e90fd304f01e6420fbe60f66f838 0a53c5a9ca65a74d37ef5c5eaeb55d7f bd7fc88cf1b01f097749ae6f87272128 85a92ca67f2200d36506862eaa6ed6b8 c796c01d6951fa24ed54c7f1111667c6 ff5a00b8ead2e480367b019417a04207 46a8e394d6fa13134808921036a34da8 01bc4c8cf5b7f01f815a7ada004154a2 ed7be2b984f9c27de1d2dc349dc19c6d a766cea0c28e23e978fa78ef81918ab8

Email subscription for changes to this article