2

Linux: with crontab: as : でテストします * * * * * /bin/echo "xin chao">> /home/iloveyou/text.txt。それはうまくいきます。

しかし、URLをテスト実行すると:

*/3 * * * * /usr/bin/curl -k https://192.169.30.126/joomlandk2/index.php/exportmanager

うまくいきません。次のように実行した場合:/usr/bin/curl -k https://192.169.30.126/joomlandk2/index.php/exportmanagerターミナル ウィンドウから。正常に動作します。なんで?https://192.169.30.126/joomlandk2/index.php/exportmanagercrontabで実行を設定したい 。手伝って頂けますか?ありがとう。

4

2 に答える 2

1

OPリクエストで、この回答は、crondコンテキストでユーザー環境を段階的に複製する方法を詳しく説明しています。

crontab で、シェル スクリプトを呼び出します。

*/3 * * * * /home/userX/dir/exportmanager.sh

シェルでは、curl を呼び出す前に環境をエコーまたは設定して、独自の環境と同様の条件を設定します。

Https は SSL キーを使用します。curl はこのキーをどのように検索し、どの証明書リポジトリで検索しますか?

--capathオプションを参照してください。

#!/bin/bash
set VAR=value
/usr/bin/curl -k https://192.169.30.126/joomlandk2/index.php/exportmanager\
   >/home/userX/dir/exportmanager.log
于 2012-10-31T14:34:27.387 に答える
1

特殊文字の問題かもしれません。コマンドをラッパー スクリプトに入れ、実行権限を追加し、crontab を切り替えてそれを指すようにします。

于 2012-10-31T13:55:03.873 に答える