
CentOS 7にインストールされているVirtualminで毎時間ページを実行するには、次の方法を使用します。
wget https://domain.tld/index.php?page=cron > /dev/null 2>&1
ただし、cron が実行されると、1 時間ごとに次のファイルが生成されます。
index.php?page=cron
index.php?page=cron.1
index.php?page=cron.2
など。
これらのファイルが生成されないようにする方法を教えてください。
答え1
wget
デフォルトでは、インポートされたWebページはURLの末尾にある文書に対応する名前のファイルに保存されます(標準出力には送信されません)。ファイルがすでに存在する場合は、名前の末尾に数字が追加されます。
文書を保存したくない場合は、次の場所に保存するように指定してください/dev/null
。
wget -O /dev/null 'https://domain.tld/index.php?page=cron' >/dev/null 2>&1
または
wget --output-document=/dev/null --quiet 'https://domain.tld/index.php?page=cron'
URLを引用するのも良い方法です。 URLには、シェルがファイル名のワイルドカードまたはコマンドターミネータとして解釈できる文字(&
など)が含まれている場合[
があるためです。]
答え2
問題はクローンではありません。これがwget
デフォルトの動作です。標準出力にリダイレクトするには(該当する出力を受け取るように/dev/null
)wget -O-
。返品考える-q
。だから:
wget -qO- 'https://domain.tld/index.php?page=cron' > /dev/null 2>&1
しかし、私はこの方法をあまりお勧めしません。問題が発生した場合はどうなりますか?結果がhttp 200コードであるか、内容が期待どおりであるかを確認する小さなスクリプトを作成する方が良いでしょう。