• 締切済み

GAE/P cron mins minutes

google app engine / python にて、cronを設定したのですが、意図したとおりに動きません。 例えば、cron.yamlに - description: test1 url: /test1 schedule: every 5 mins timezone: Asia/Tokyo - description: test1 url: /test1 schedule: every 5 minutes timezone: Asia/Tokyo としても、どちらも5分毎に実行してしまいます。 意図する動作としては「一つは5分間隔、もう一つは毎時5分に実行」です。 この場合、どのような記述で実現できるでしょうか?

みんなの回答

noname#161640
noname#161640
回答No.1

ん? 見ましたが、schedule: every 5 minsでもschedule: every 5 minutesでも、どちらも「5分ごと」ですよ。「毎時5分」という指定はなかったと思います。「1:00」というように時刻の指定はできるので、これで1:05、2:05……と各時刻をすべて記述するしかないように思います。

jimascript
質問者

補足

「cron.yaml mins minutes」などのワードで検索すると 「minsが何分毎でminutesが毎時何分」 というようなページがいくつか出てくるのですが、これらの情報が誤りということでしょうか?minsとminutesが分かれている理由は、ただの記述方法の違いというだけですか?全く同じ意味のものを二通りの書き方ができるのでしょうか?

関連するQ&A

  • GAEで毎時00分、30分ぴったりにcronを動かす方法

    GAEで毎時00分、30分ぴったりにcronを動かす方法 GAE/Pythonでcronを動かしています。 動く時間をevery 30 minutesにして、 00分にデプロイしたところ、だんだんと時間がずれていきました。 GAEで毎時00分、30分ぴったりにcronを動かすにはどのように記述すれば良いのでしょうか。 よろしくお願いします。

  • cronが実行されているのに動作しない

    phpファイルをcronで設定したのですが動作しません。 『cat /var/log/cron』にて確認をすると正常に実行されています。 実行はされているが、処理されないということになります。 何がだめなのでしょうか? cron設定 * * * * * /user/bin/php /var/www/public_html/test/mail/test.php test.php <?php require( '/var/www/private_html/test/data.php' ); $to_mail = "test@****.jp"; $m_title = "cronテスト"; $s_name = "メールテスト"; $return_mail = "test@****.jp"; mb_language( 'ja' ); mb_internal_encoding("utf-8") ; $subject = "$m_title"; $headers= "From:" .mb_encode_mimeheader( $s_name ) ."<" .$s_mail .">"; $return_path = '-f' . $return_mail; $body = "メール送信テスト\n\n"; mb_send_mail( $to_mail, $subject, $body, $headers, $return_path ); ?> 以上のphpファイルをcron設定しており、 URLを直接たたくとphpファイルは処理されることも 確認済みです。 cronからの実行だとなぜファイル処理がなされないのでしょうか? 原因がわかりません。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • cronでlpr(印刷)ができない

    よろしくおねがいします。 自動でプリントアウトしたかったので cronを使おうとしましたがうまくいきませんでした。 (手動で)ターミナルで lpr を実行するとうまくいきます。 たとえば # lpr /home/ishii/file は印刷できます。一方で、 # crontab -l (抜粋) 15 * * * * lpr /home/ishii/file の場合は時間(毎時15分)になるとポップアップで 『"file"(プリンタ"printer")の印刷が中止されました。 原因は何か突き止めたいことでしょう"』 が表示され、印刷できません。 cron 自体は正常で他のコマンドならば動きます。 cronは正常、lprも正常、ふたつ一緒になるとダメという状態です。 どなたかご教授下さい。

  • PHPのdate()について

    date()関数は日時などを表す関数ですが、 下記スクリプトを実行すると、現在の時刻 を表示するらしいのですが、実際にブラウザ で表示すると、0と表示され、現在時刻が表示 されませんでした。 <?php print date("G"); ?> そこで、xamppのphp.iniファイルのタイムゾーンを修正 [date] #date.timezone = Europe/Berlin date.timezone = Asia/Tokyo として <?php print date("G"); ?> を実行しましたが、やはりブラウザには0とだけ表示されます。 なので、phpスクリプトを <?php date_default_timezone_set("Asia/Tokyo"); print date("G"); ?> としたら 意図したとおり、11時台に実行したら、11と表示されました。 この違いは一体なんなのでしょうか? ご教授下さい。

    • ベストアンサー
    • PHP
  • cronの実行がうまくいかない。

    ubuntu18.04 LTSでcronのテストをしているのですが期待通りに動きません。 下記で、6時42分にログローテートが行われません。 原因と対策について教えて下さい。 ・/etc/crontab 42 6 *** root test -x /usr/sbin/anacron || (cd /&& run-parts --report /etc/cron.daily) ・/etc/cron.daily logrotate の記述がある。 ・/etc/logrotate.conf include /etc/logrotate.d の記載がある。 ・/etc/logrotate.d/logrotate_1.conf /tmp/rotate/test.log {   daily compress maxsize 1M create 0660 root root rotate 5 } ・/tmp/rotate/test.log が存在している。 尚、 ・手動実行 sudo logrotate -f /etc/logrotate.d/logrotate_1.conf では、 /tmp/rotate 実行後に、 test.log test.log.1.gz が存在します。

  • CRON で シェル を動かしたい

    Fedora Core で バックアップを取るため夜にJOBを実行させたく思っています。調べた所crontabでスケジュールできるとの事なのでテストをしているのですがうまくいきません。 1. mkdir /home/postgres/BKUP/test このコマンドをcrontab -e に直接書くと狙った時間にtestフォルダが作成されます。 2. バックアップを取る際はもう少し色々やることになると思うのでシェルにして実行させました。ここではテストなので先ほどと同じ分をシェルに書いてcrontab -eでスケジュールしますが作成されません。 ***シェルの内容*** #!/bin/sh mkdir /home/postgres/BKUP/test *********************************** ・/var/log には履歴がかかれていました。 ・シェルには全ての権限をつけました。(777) 何がいけないのでしょうか?教えてください。

  • PHPの定期実行[ Linux&cron ]

    Redhat9.0 PHP4.3.3を利用しています。 cronとコマンドライン版のPHPを利用して「1分毎に自分にメールを送る(実験用)」プログラムを実行させたいのですが、コマンドラインでは実行可能なのに、cronに登録してもメールが送られてきません。cronにはプログラムを実行したログが残っています。 完全に行き詰ってしまった。よろしくお願いします。 [ crontab ] * * * * * php /home/hoge/mail.php [ mail.php ] mb_language("Ja"); mb_internal_encoding("SJIS") ; $subject="test"; $content = "test"; $mailfrom="From:hoge@hoge.jp"; $mailto="***@hoge.com"; mb_send_mail($mailto,$subject,$content,$mailfrom);

    • ベストアンサー
    • PHP
  • PHPプログラム上で「URLを直接叩く(GET出来る)コマンド」につい

    PHPプログラム上で「URLを直接叩く(GET出来る)コマンド」についての質問です。 「ファイルのタイムスタンプが過去24時間より新しかったらメールCGIを実行する」というphpを作ってみました。 しかしながら、実行すると、「Script timezone differs from ini-set timezone.1289040460128896920024時間以内なのでメール送信しました.」とスクリプトが実行(タイムスタンプも取得された)はずなのですが、肝心なメールが飛んできません。 下記のソースをご確認頂き、不味い点をご指摘いただけませんでしょうか? 尚、cgiそのものはhttp://hoge.com/test/form.cgi?&act=2をブラウザから直接URLで叩くと、メールが飛ぶようになっていますのでcgiの不具合ではありません。 宜しくお願い致します。 環境は、Cent OS Apache/2.2.3 php 5.1.6 です。 ソースは下記です。 <?php date_default_timezone_set('Asia/Tokyo'); $script_tz = date_default_timezone_get(); if (strcmp($script_tz, ini_get('date.timezone'))){ echo 'Script timezone differs from ini-set timezone.'; } else { echo 'Script timezone and ini-set timezone match.'; } echo filemtime("./data/bbs.cgi"); echo strtotime ("yesterday"); //日付をstrtotime()で変換して比較します if (filemtime("./data/bbs.cgi") > strtotime ("yesterday")) { $command = `http://hoge.com/test/form.cgi?&act=2`; echo '24時間以内なのでメール送信しました.'; }else{ exit( "PHPスクリプト終了!!" ); } ?> 試行錯誤的に、$command = `http://hoge.com/test/form.cgi?&act=2`;の部分を echo $url = $_GET["http://hoge.com/test/form.cgi?&act=2"];とか header('Location:http://hoge.com/test/form.cgi?&act=2')とかに変更してみましたが、やはり駄目でした。 $_GETについては、フォーム上で使うイメージがあり、上記のようなスクリプト内への記載方法が分かりません。宜しくお願い致します。 尚、yahoo知恵袋にも質問をしたのですが、知恵袋は質問のやり取りが出来ない仕様のため、解決に至らず一旦クローズドしてこちらでお聞きする次第です。ダブルで質問している訳ではございませんので宜しくお願い致します。

    • ベストアンサー
    • PHP
  • cronが最短20分のサーバーで毎分実行するには?

    CPIの共有サーバ上でWEBシステムを組んでいます。 一部の重たい処理を裏でバッチで処理する設計で 毎分cronでphpを実行させるつもりで設計しており ローカルのテスト環境ではうまく動いているのですが・・・ CPIのcronの仕様を見ると最短でも20分に1回しか処理を実行できないようです。 普段共有サーバーを使うことがあまりないのでそんなトラップがあるとは夢にも思わず 納品間近なので回避策を検討しているところなのですが・・・ 以下のような2パターンを考えてみたのですが 実際にこのような処理を実行したことがある方はおられますでしょうか? あるいはもっといい回避策があれば教えてください。 ◆パターン1 php内で0分~19分スリープさせるphpを計20個作成し それを20分ごとに実行するcronに全部登録する。 ◆パターン2 20分に1回実行するPHPを登録し PHPの処理終了後1分スリープしてから再度実行を20回繰り返す。 ■懸念点 どちらのパターンでもPHPのスリープを大量に使う処理を今まで書いたことがないので 安定して動くものなのかが心配です。また20分に1回しか許可してないのはCPIの負荷対策かな?と思うのですが 上記のような無理矢理な回避策をしてCPIに怒られたりスレッドを強制終了されたりしないかな?ってのも心配です。 正直 サーバーを別のとこに変えてください、、、とお願いしたいところですが 今回初仕事のお客さんだし他のシステムも動いてるサーバーなんでそういうわけにも行かず。。。 一応サーバーの仕様で無理なので20分に1回って仕様で納得してください、って説明準備もしつつ 無理矢理でも技術的に回避できないかな?と質問してみました。 よろしくお願いいたします。

  • PHP+CRONでのファイルバックアップ

    お知恵をお貸しください。 PHP全くの初心者です。。。 PHPスクリプトとCRONで、定期的にWebサーバー内の複数ファイル(異なるdirにあるファイル)をバックアップ用に作成したdirにバックアップ、同時に世代管理をしたいと考えています。 検索したところ、目的に近い以下のスクリプト情報が見つかりました。 見つかったスクリプトのフローは、 ・単純にファイルをコピーし、バックアップ先のdirへバックアップ、スクリプトの実行日を付加した名前へリネームして保存 ・一定時間(例は20日以上としてます)経過した古いファイルを削除 という流れです。 このスクリプトを利用し、 バックアップファイルに関する設定部分(対象、保存先、経過時間)を分かり易く、また複数設定できるようにしたいと思っています。 動作環境は一般的なレンタルサーバー(さくらインターネットやXsever)でPHPのバージョンは、「PHP5.6.30」、「PHP7.0.16」、「PHP7.1.2」の3つのVerです。 ※CRONでの実行は定刻に1日1回の予定です。 ※バックアップ先となるdirは(操作権限を持つ同一アカウントの)レンタルサーバー(同じサーバー内)のdirです。 ↓↓↓参考スクリプト↓↓↓ 1)単純にファイルをコピー、リネームして保存 $dirHome = '/home/hogehoge/domain.com/public_html/csv/'; $date = date('Ymd'); if(copy($dirHome . 'test.csv', $dirHome .'backup/test.csv')){ echo 'test.csvをコピーしました。'; rename($dirHome . 'backup/test.csv', $dirHome .'backup/test'.$date.'.csv'); echo 'test.csvをリネームしました。'; } else { echo 'test.csvをコピーできません!'; } 2)一定時間(20日以上)経過した古いファイルを削除 date_default_timezone_set('Asia/Tokyo'); $expire = strtotime("480 hours ago"); //20日前 $dir = dirname(__FILE__) . '/backup/'; $list = scandir($dir); foreach($list as $value){ $file = $dir . $value; if(!is_file($file)) continue; $mod = filemtime( $file ); if($mod < $expire){ chmod($file, 0777); unlink($file); } } 3)複数設定する場合に記述する設定内容例 ※以下のようにバックアップ対象(target)、バックアップ先dir(bk_dir)、削除対象となる経過時間(expire)を、それぞれに設定するようにしたいと思っています。 $list = []; // 設定を格納する配列 // 設定1 $list[] = [ 'target' => 'domain1.com/public_html/news/data.dat', 'bk_dir' => 'domain1.com/public_html/backup/news/', 'expire' => 480 ]; // 設定2 $list[] = [ 'target' => 'domain2.com/public_html/news/data.dat', 'bk_dir' => 'domain2.com/public_html/backup/news/', 'expire' => 480 ]; ※以下、必要な分だけ記述する。 よろしくお願いいたします。

    • 締切済み
    • PHP