2016-03-31 10 views
1

URLからサーバーにジョブをコピーするためのcronを設定したいと考えています。私が使用していますcronをコピーしてローカルサーバーにファイルを書き込むにはどうすればよいですか?

cronコマンドは次のとおりです。

cd /home/username/public_html/bin/sh; /usr/local/php54/bin/php script.php; 

script.phpファイルが含まれています:

rm -f /home/username/public_html/filepath/file.zip; cd /home/username/public_html/filepath/; wget -q -O /dev/null "https://www.domain.com/file.zip" 

しかし、それは動作しません。

既に存在する場合は/home/username/public_html/filepath/file.zipファイルも置き換えたいと思います。

ありがとうございました。 -

*/10 * * * * RM:

+0

「cron」の使用については、superuser.comまたはunix.stackexchange.comが質問するのに良い場所です。しかし、あなたが得ているエラーメッセージのように、より多くの情報を提供する必要があります。 – Barmar

+5

'script.php'はPHPスクリプトではありません。シェルスクリプトです。 – Barmar

+0

ありがとう、戻ってくるエラーはありません...基本的にスクリプトは、それが正常に実行されたように見えますが、その後、宛先ファイルが作成されていないので、私は必要なコマンドとスクリプトが不思議です。通常の共有サーバーがそれを処理できるなら、どのようなコードが必要なのかは気にしません。ファイルのコピーを作成するだけです。どうもありがとう! – user2963136

答えて

0
  1. あなたと

    のcrontab -e

  2. 追加行を編集するためのオープンのcrontabには、この(PLS希望のスケジュールをチェック)のようなスケジュールf /home/username/public_html/filepath/file.zip; cd/home/username/public_html/filepath /; wgetの-q -Oを/ dev/null "https://www.domain.com/file.zip"

cronが/ユーザ名/ public_htmlの/ファイルパス/ /ホームに新しいfile.zipをダウンロードするよりも、10分ごとに実行し、file.zipを削除します。

0

A PHPスクリプトは、次の2つのモードがあります:ストレートSTDOUT(デフォルト)

  • は何が起こるか(PHPのコマンドを実行するために

    1. 出力をあなたのPHPスクリプト

  • <?php間と ?>

    rm -f /home/username/public_html/filepath/file.zip; cd /home/username/public_html/filepath/; wget -q -O /dev/null "https://www.domain.com/file.zip" 
    

    シェルスクリプトと同等です:

    echo 'rm -f /home/username/public_html/filepath/file.zip; cd /home/username/public_html/filepath/; wget -q -O /dev/null "https://www.domain.com/file.zip"' 
    

    ...ので、あなたは(おそらくあなたに電子メールで送信)はcronからの出力を見ていない限り、それは目に見える効果はありません。

    これらはPHPコマンドではなく、シェルコマンドです。したがって、PHPではなく、シェルを使用してスクリプトを実行してください。

    cd /home/username/public_html/bin/sh; /bin/sh script.php; 
    

    ...と、このようなscript.shなど、あまり当てになら何かに名前を変更を検討してください。

    関連する問題