
はい、私はたくさんの文書を読んでいますが、うまく機能できません。 1分に1〜2回実行したい単純な単一のPHPファイルがあります。私のPHPファイル名はcronjob_refresh.phpで、Ubuntu 12を使用しています。
入力後
クローンタップ-e
ターミナルに入ります。
root@cron:~# crontab -e
rootにcrontabはありません - 空のタブを使用してください
第888話
「888」が何を意味するのかわかりません...(888以降)cronjob文字列を書いています。
*/1 * * * * php /var/www/cronjob/cronjob_refresh.php
Enterキーを押すと、cronjob文字列を入力して "?"記号が表示されます。
root@cron:~# crontab -e
rootにcrontabはありません - 空のタブを使用してください
第888話
*/1 * * * * php /var/www/cronjob/cronjob_refresh.php
?
次に CTRL+Z を押して終了します。結局私は処刑をしている
クローンタップ-l
私のcronjobリストにcronjobが追加されたことを確認しましたが、リストが空であることがわかります。
何が間違っているのかわかりません。そして1分で30~30秒で2回やりたくないです。 cronjobを設定するには?同じディレクトリにあるlog.logというファイルにすべての内容を記録したいのですが可能ですか?
答え1
888はデフォルトのUbuntu crontabファイルの文字数です(22行の情報はすべてコメントアウトされています)。
^Zを入力すると、何も保存されず、ジョブはバックグラウンドに進みます。ジョブコントロールをお読みください。
888
*/1 * * * * php /var/www/cronjob/cronjob_refresh.php
?
^Z
[1]+ Stopped crontab -e
実行する前にエディタの設定を指定する必要があります。crontab -e
export EDITOR=vi
またはexport EDITOR=nano
Cronは1分の解像度でのみ動作するため、スクリプトは操作を完了するのに30秒かかります。
PHPが機能しないという他の問題がある場合(crontab仕様のバグのため)、次をお読みください。標準Q&Aこのトピックについて。
答え2
まず、毎秒cronjobを予約することはできません。 cron で指定できる最小単位は分であるためです。あなたが望むのは、おそらく次のスクリプトを実行することです。
注:位置の背後にある2つのバックティックのうちの1つを削除します。編集者は削除を許可していません...
#!/usr/bin/perl -w
そして(1){
`php /path/to/script/cronjjob_refresh.php ``;
睡眠(30);
}
しかし、これを再考する必要があります。システムで30秒ごとにスクリプトを実行する必要がある場合は、おそらく何かが間違っている可能性があります。