Photo by Kevin Ku on Pexels.com

クロンを改良しました。前のクロンPHPは恐らくBUGってて。

2015.06.23

Logging


クロンPHPって言っても月や曜日判定はしていません。今回、その判定も行うように変えようと再度、コードを改良しました。前回のコードの約半分ぐらいのコードになってます。土曜日までには、月や曜日の対応を行うようにします。
ちなみにどういう機能をするのかと言いますと、さくらサーバではクロンの制限があります。その制限数以上、使おうとおもって考えたのが、一つのPHPを叩いてクロンがしている事を模倣することでした。
※昨日の話は撤回はしないものの、SEOよりSNSでSEOという考え方に変えました。よくよく考えてみるとアクセス数が多いほど、検索上位表示される確率も増えるのでやはり大事かなとボット。ボットらしくない振る舞いしたボットなら何とか成るかも知れないとも思ってます。

追記2022/09/06:クーロン制限突破方法を記載しています、こちらを参照ください。クーロン制限突破!

command":"cd /home/user/www/user_dir/site/; /usr/local/bin/php cron.php "cron.json"
<?php
//5分刻みに対して有効な無限クローン 処理が負荷の場合どうなるかは知りません。
date_default_timezone_set('Asia/Tokyo');
class cron{

    public function d_m($obj)
    {
            if($obj->m==="*")return true;
            if(preg_match("/,/",$obj->m))return $this->comma($obj->m,date("m"));
            if((int)$obj->m === (int)date("m"))return true;

            return false;
    }

    public function d_d($obj)
    {
            if($obj->d==="*")return true;
            if(preg_match("/,/",$obj->d))return $this->comma($obj->d,date("d"));
            if((int)$obj->d === (int)date("d"))return true;

            return false;
    }

    public function d_H($obj)
    {
            if(preg_match("/\*\/[0-9]{1,2}/",$obj->H)){
                $H = explode("/",$obj->H);
                if((int)$H[1]>0 && ((int)date("H") % (int)$H[1])===0)return true;
            }else{
                if($obj->H==="*")return true;
                if(preg_match("/,/",$obj->H))return $this->comma($obj->H,date("H"));
                if((int)$obj->H === (int)date("H"))return true;

            }
            return false;
    }

    public function d_i($obj)
    {
            if(preg_match("/\*\/[0-9]{1,2}/",$obj->i)){
                $i = explode("/",$obj->i);
                if((int)$i[1]>0 && ((int)date("i") % (int)$i[1])===0)return true;
            }else{
                if($obj->i==="*")return true;
                if(preg_match("/,/",$obj->i))return $this->comma($obj->i,date("i"));
                if((int)$obj->i === (int)date("i"))return true;

            }
            return false;
    }

    //曜日 0=日曜日 6=土曜日
    public function d_w($obj)
    {
            if((int)$obj->w[date("w")]===1)return true;
            return false;
    }

    public  function comma($c="",$t=""){
        if($c==="")return false;
        if($t==="")return false;
        $flg = false;
        foreach(explode(",",$c) as $cc){
            if((int)$cc===(int)$t)$flg = true;
        }
        return $flg;
    }


    public function d_command($obj){
        if($obj->command){
            exec($obj->command . " > /dev/null &");
        }
        return true;
    }

}
if ($argv[1]) {
   $filename = $argv[1];
    if(is_file($filename)){
        $jsn = json_decode(file_get_contents($filename));
        $cron = new cron();
        try {
            foreach($jsn as $obj){
                if($cron->d_m($obj)){
                    if($cron->d_d($obj)){
                        if($cron->d_H($obj)){
                            if($cron->d_i($obj)){
                                if($cron->d_w($obj)){
                                    $cron->d_command($obj);//波動拳{{{{
                                }
                            }
                        }
                    }
                }
            }
        } catch (\Throwable $th) {
            print $th->getMessage();
        }
    }
}
mは月
dは日
Hは時
iは分
wは日曜日から土曜日 0はOFF、1はON
commandは実行コマンド
[
    {
        "m":"*",
        "d":"*",
        "H":"*",
        "i":"*/10",
        "w":[1,1,1,1,1,1,1],
        "command":"cd /home/user/www/user.com/site/; /usr/local/bin/php hoge1.php"
    },
    {
        "m":"*",
        "d":"12,23,28",
        "H":"*",
        "i":"*/15",
        "w":[1,1,1,1,1,1,1],
        "command":"cd /home/user/www/user.com/site/; /usr/local/bin/php hoge2.php"
    }
]

著者名  @taoka_toshiaki

※この記事は著者が30代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

-Command, 06, 09, 2022, BUG, cd, ho, php, quot, SEO, SNS, アクセス, クーロン, クロン, コード, こちら, こと, サーバ, さくら, ボット, 一つ, 上位, , 今回, 再度, 判定, 制限, , 前回, 参照, 土曜日, 大事, 対応, 撤回, 改良, 方法, 昨日, 曜日, , 検索, 模倣, 機能, 確率, 突破, 約半分, 考え方, 表示, 記載, , 追記,

速報 平成27年度、春期 基本情報技術者の午前の解答はこちら。(^^ゞ

2015.04.19

Logging

速報 平成27年度、春期?基本情報技術者の解答です。試験お疲れ様でした、今回は残念だったひとは次回頑張ってください。私なんて受けてもないですから次回、合格するつもりで今からコツコツと勉強するつもりでいます。基本情報の合格率は25%?30%なんですから落ちてもめげることはないかと思います。頑張らない程度に頑張りましょう(^^ゞ
追記:2015/10/18
http://www.o-hara.ac.jp/best/jyoho/sokuhou/kihon1510.pdf??平成27年度、秋期?基本情報技術者 解答リンク
下の解答はあくまでも私的解答ですので上記のリンクを目安にしてください。
平成27年度、秋期?基本情報技術者 解答
——————————————————————-

https://twitter.com/zip358com/status/655657591243014144

https://twitter.com/zip358com/status/655657623119790082

https://twitter.com/zip358com/status/655657651645231104

https://twitter.com/zip358com/status/655657651645231104

https://twitter.com/zip358com/status/655657680388751360

https://twitter.com/zip358com/status/655657710759776256
?
https://twitter.com/zip358com/status/655657744175898624

https://twitter.com/zip358com/status/655657782046121984
?
https://twitter.com/zip358com/status/655657814828822528
——————————————————————-
平成27年度、秋期?基本情報技術者 解答
https://twitter.com/zip358com/status/589707472874508288
https://twitter.com/zip358com/status/589707546807508992
https://twitter.com/zip358com/status/589707588360491009
https://twitter.com/zip358com/status/589707621638115329
https://twitter.com/zip358com/status/589707651241521153
https://twitter.com/zip358com/status/589707693696241665
https://twitter.com/zip358com/status/589707724042043392

著者名  @taoka_toshiaki

※この記事は著者が30代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

-------------------------------------------------------------------, 10, 1510, 18, 2015, 25, 27, 30, ac, best, http, https, jp, jyoho, kihon, o-hara, pdf, sokuhou, twi, www, こちら, こと, つもり, ひと, リンク, 上記, , 今回, 勉強, 午前, 合格, 基本, 平成, 情報, 技術者, 春期, 次回, 残念, 目安, , 秋期, 程度, 解答, 試験, 追記, 速報,

映画『42 世界を変えた男』が何だか泣けそう(´;ω;`)

2014.10.01

Logging

42 世界を変えた男が何だか泣けそうです。映画予告を観て即購入したので、休みの日に鑑賞するつもりでいます(本日、頼んでいたブルーレイが届きましたo(^▽^)o、またもやポストに投函されていたのですけど、今回は郵便扱いになっていたので何とも言えない。)。なお、レビューは追記して書きます…。
 
映画予告を貼っときます。

レビュー書いていなかったのを忘れて、数年・・・経ちました。一言で言えば良かったです、何処が良いのかというのは差別に立ち向かう姿ですね。これは胸熱くなる物語です、是非、観てみてください。

追記日:2022/09/30

著者名  @taoka_toshiaki

※この記事は著者が30代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

09, 2022, 30, 42, これ, つもり, ブルーレイ, ポスト, レビュー, 一言, 世界, 予告, 今回, 休み, , 何処, 姿, 差別, 投函, , , 映画, 本日, 物語, , , 購入, 追記, 郵便, 鑑賞,

土産が来た( ゚д゚ )

2014.08.17

Logging

お土産が来た( ゚д゚ )なう!東京で働いている友から土産が来た。今年はアップル(赤)です!!そして若干、苦手なシナモンというオチですが、家族一同美味しくいただきました。ちなみに、スカイプログからアカウントを探しだして同じようなお礼を書いとりますので読んで置いてください{電話帳から友消したのに自分に会いに来てくれた事に感謝(´Д⊂グスン}。土産くれるだけでも有難いのに文句いっちゃ駄目ですね。ありがとうです。ちなみに、今回は本屋に買い物に行っていって会えずじまいでした。
来年、またよろしくお願い致します(´Д`)って、ちなみに土産、別にいいだよ・・・貰えるものはもらうけどね(`・ω・´)、それよりかは話し聞く方が楽しいです。会ってこんな事、言えないので読んでいるか読んでいないか、わからないブログにメモ書き程度に残しときます。サンクス!!
 
 

著者名  @taoka_toshiaki

※この記事は著者が30代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

nbsp, アカウント, アップル, オチ, お土産, お礼, お願い, グスン, サンクス, シナモン, スカイ, ソレ, なう, ブログ, メモ書き, もの, 一同, , 今回, 今年, , 土産, 家族, 感謝, 文句, , 本屋, 来年, 東京, 自分, 若干, 苦手, 買い物, , 電話帳, 駄目,