記録

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


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

<?php
	$time_h = array("*","8,11,12,13,17,18,19,20","7,8,11,12,13,17,18,19,21,22,23,1,2","7,8,11,12,13,17,18,19,21,22,23,1,2");
	$time_m = array("*/5","0","0","0");
	$file_name = array("/home/zen-do/www/zip358.com/index.php","/home/zen-do/www/zip358.com/twitterbot/index-2.php","/home/zen-do/www/zip358.com/twitterbot/index2-2.php","/home/zen-do/www/zip358.com/twitterbot/index2-3.php");
	$h = date("H");
	$m = intval(date("i"));
	$cnt = 0;
	foreach($time_h as $h_ary){
		$chk_h = chk($h_ary);
		if(is_array($chk_h)){
			if(chk2($chk_h,$h)){
				$chk_m = chk($time_m[$cnt]);
				if(chk4($chk_m,$time_m[$cnt],$m,$file_name[$cnt]));
			}
		}else{
			if(chk3($time_h[$cnt],$chk_h,$h)){
				$chk_m = chk($time_m[$cnt]);
				if(chk4($chk_m,$time_m[$cnt],$m,$file_name[$cnt]));
			}
		}
		$cnt++;
	}
	function chk($chk_hoge){
		if(strcmp($chk_hoge,"*") == 0 ){
			return "*";
		}
		if(strstr($chk_hoge,"*/")){
			return mb_substr($chk_hoge,2,strlen(chk_hoge)-2);
		}
		if(strstr($chk_hoge,",")){
			return explode(",",$chk_hoge);
		}
		return $chk_hoge;
	}
	function chk2($chk_hoge,$H_or_M){
		foreach($chk_hoge as $hoge){
				if($H_or_M == $hoge){
					return true;
				}
			}
			return false;
	}
	function chk3($chk_H_or_M,$chk_hoge,$H_or_M){
		if(strcmp($chk_hoge,"*") == 0 ){
			return true;
		}elseif(strstr($chk_H_or_M , "*/")){
			if($H_or_M % $chk_hoge == 0){
				return true;
			}else{
				return false;
			}
		}else{
			if($H_or_M == $chk_hoge){
				return true;
			}else{
				return false;
			}
		}
		return false;
	}
	function chk4($chk_hoge,$chk_hoge2,$m,$file_name){
		if(is_array($chk_hoge)){
			if(chk2($chk_hoge,$m)){
				if(shell_exec("/usr/local/bin/php -f ".$file_name))echo "/usr/local/bin/php -f ".$file_name;
				return true;
			}
		}else{
			if(chk3($chk_hoge2,$chk_hoge,$m)){
				if(shell_exec("/usr/local/bin/php -f ".$file_name))echo " /usr/local/bin/php -f ".$file_name;
				return true;
			}
		}
		return false;
	}
?>
<?php
	$time_h = array("*","8,11,12,13,17,18,19,20","7,8,11,12,13,17,18,19,21,22,23,1,2","7,8,11,12,13,17,18,19,21,22,23,1,2");
	$time_m = array("*/5","0","0","0");
	$file_name = array("/home/zen-do/www/zip358.com/index.php","/home/zen-do/www/zip358.com/twitterbot/index-2.php","/home/zen-do/www/zip358.com/twitterbot/index-2-2.php","/home/zen-do/www/zip358.com/twitterbot/index-2-3.php");
	$tt[0] = date("H");
	$tt[1] = date("i");
        $ayMAX=0;
        $MAXS =2;
        for($i=0;$i<count($time_h);$i++){
            $chk[$ayMAX][0]=$time_h[$i];
            $chk[$ayMAX][1]=$time_m[$i];
            $chk[$ayMAX][2]=$file_name[$i];
            $ayMAX++;
         }
        for($ay=0;$ay<$ayMAX;$ay++){
            $flg=false;
            for($i=0;$i<$MAXS;$i++){
                if(preg_match("/\*/", $chk[$ay][$i])){
                    if(preg_match("/\*\//", $chk[$ay][$i])){
                        preg_match("/[0-9]{1,2}/", $chk[$ay][$i],$t);
                        if(!($tt[$i]%$t[0])){
                            $flg = true;
                        }else{
                            $flg = false;
                            break;
                        }
                    }else{
                        if("*" == $chk[$ay][$i]){
                            $flg = true;
                        }else{
                            $flg = false;
                            break;
                        }
                    }
                }else{//////////////////
                    if(in_array($tt[$i],preg_split("/,/",$chk[$ay][$i]))){
                        $flg = true;
                    }else{
                        $flg = false;
                        break;
                    }
                }
            }
            if($flg){shell_exec("/usr/local/bin/php -f ".$chk[$ay][$i]);}
        }
?>

 

BOT辞めました{BOTやめるとアクセス減ることは無い?。}前のページ

cronPHPを作ってみた朝の続き。次のページ

関連記事

  1. 記録

    HTML5のCanvasをトライ。

    会社でCanvasのことを聞かれたのだけどさっぱりだったので触って…

  2. 記録

    安倍政権続投で思うこと。

    安倍政権続投してしまった。予想通り、石破氏は負けてしまったけど実際…

  3. 記録

    未来の話(ラリー・ペイジ: グーグルが向かう未来を観て)。

    未来を考えるには情報を集めることが大事なことなんだと再認識。そ…

  4. 記録

    いつの間に? 『ELT 伊藤 一朗いっくんTV』

    Every Little Thing( エヴリ・リトル・シング…

  5. 記録

    ガンダム愛が強い海外のYOUTUBERガンプラメリさん

    ガンダム愛が強い海外のYOUTUBERガンプラメリさん、英語は…

  6. 記録

    このサイトも3年目突入です。

    このサイトも3年目突入です、一年前ぐらい前のデータ(記事)しか残って…

PAGE TOP