それまで動作していたcronが、正常動作しなくなった原因

Linuxコマンドcron

目次一覧

 状態:-  閲覧数:1,141  投稿日:2014-01-30  更新日:2019-04-26
遭遇例

ケース1. … 原因は、crontabで意図しない改行を行っていたから

ケース2. … 原因はPHP5.4バージョンアップに伴いPHP自体の挙動が変わっていたため

遭遇例

 閲覧数:225 投稿日:2014-01-30 更新日:2019-04-26 

ケース1


原因
・crontabで意図しない改行を行っていたから

ケース2


原因
・PHP5.4バージョンアップに伴いPHP自体の挙動が変わっていたため
※cron自体は正常動作していたが、それを受けるスクリプトの方の挙動が変わっていた

ケース3


原因
・MySQLバージョンアップに伴う依存関係の影響で、crontabファイルが自動削除されてしまったため
※設定ファイルだけではなく、crontabリポジトリ自体も削除されてしまう!
.rpmsaveとは? / MySQLバージョンアップ時にcrontabを自動削除
crontabsを依存関係の絡みで意図せず削除していたため、改めてインストール

ケース4


原因
・PHPバージョンアップに伴う影響で、PHP実行パスが変更されたため
PHP実行パス変更に伴う修正

ケース5


正常動作しなくなったと思い込んでいたが
・実際には正常動作していた

勘違いした原因
・実行反映まで時間がかかっていただけ

<例>
・5:00に処理開始
・実際に反映されるのは6:30頃
・つまり画面上には、6:30頃、「5:00に更新された」と表示される

<注意が必要>
・処理件数増加や内容が複雑化していくと、いつの間にか処理終了まで時間がかかるようになる

ケース6


以前の処理に戻したが、そのままコピペしたら現在の環境ではエラー発生
→ 勘違いかも
・環境バージョンはアップグレードされているため、以前正常動作していたからと言って、現在の環境でも正常動作するとは限らない

ケース7


・セッション系のSQLでエラーが発生
仕組みだけ作成して、クッキー設定していなかったから?
・これまでは、定数「SITE_WORD」を設定していなかったから、たまたまこのエラーが表面化しなかっただけ?
$visitorId = $_COOKIE[SITE_WORD]['visitor_id'];


ケース1. … 原因は、crontabで意図しない改行を行っていたから

 閲覧数:245 投稿日:2014-09-10 更新日:2019-04-26 

問題発生


それまで動作していたcronが、いつの間にか正常動作しなくなっている
・ファイル更新はされるが、データが取得できない。「アクセスが、ありませんでした!」

原因


改行が足りない
・ちょうど画面右端に来ていため、ターミナル画面では気が付かなかった
※ファイルダウンロードして初めて気が付く
▼/etc/crontab
1 5 * * * root /usr/bin/php /var/www/★★/rankingexport7_file.php
2 5 * * * root /usr/bin/php /var/www/★★/rankingexport_file.php1 5 * * * root /usr/bin/php /var/www/■■/rankingexport7_file.php
2 5 * * * root /usr/bin/php /var/www/■■/rankingexport_file.php
1 5 * * * root /usr/bin/php /var/www/●●/rankingexport7_file.php
2 5 * * * root /usr/bin/php /var/www/●●/rankingexport_file.php


疑問


・これってどうやって防げば良いのだろう?

ケース2. … 原因はPHP5.4バージョンアップに伴いPHP自体の挙動が変わっていたため

 閲覧数:161 投稿日:2017-08-17 更新日:2019-04-26 

問題発生


それまで動作していたcronが、いつの間にか正常動作しなくなっている
・前回とは異なり、ファイル更新すら行われない

原因


PHP5.4バージョンアップに伴いPHP自体の挙動が変わっていたため
※array_walkで参照渡しを利用していた

調査履歴


crontabファイル
・真っ先に疑うも、記述的には問題がないことを確認

Job `cron.daily' terminated
・前日の日付を参照して1日1回実行される
・2回目以降は上記表示となる
・つまり、厳密な意味でのエラーではない

PHPデバッグ
Fatal error: Call-time pass-by-reference has been removed in ★★.php on line △△



cron

cron デーモンプロセスが正常動作しないときに確認すべき項目



類似度ページランキング
順位 ページタイトル抜粋
1 それまで受信できていたcron経由によるメールを、正常受信できなくなった原因 58
2 crontabsを依存関係の絡みで意図せず削除していたため、改めてインストール / それまで動作していたcronが動作しなくなった原因。ケース3 42
3 cron デーモンプロセスが正常動作しないときに確認すべき項目 41
4 Perl CGI が正常動作しない 40
5 MySQLバージョンアップに伴う意図しないcrontabファイル削除。PHPバージョンアップに伴うPHP実行パス変更 / それまで動作していたcronが動作しなくなった原因。ケース3 34
6 以前は普通に表示されていたWebサイト表示が、最近とくに遅くなっているので、原因を知りたい1 32
7 以前は普通に表示されていたWebサイト表示が、最近とくに遅くなっているので、原因を知りたい2 32
8 現在の仮想マシン状態から自分でBoxを作成したいけど、うまくいかない 32
9 CentOS7/cron設定内容。常に最新へ更新し続けていく 31
10 ルートドメインでのみサイトが表示されない理由は、お名前.com の DNS設定 を誤っていたから 29
11 cronで定期実行しているphpファイルを、コマンドライン経由で即時実行する 27
12 CentOSでcpコマンド動作確認するためには、Control + T ではなく、 -v オプションを使用 27
13 PoderosaでVimを立ち上げると黄色い文字が読めないため非常に編集しづらい 26
14 Apache 2.2.15を、2.2系の最新へアップグレードしたいがうまくいかない 26
15 CentOS7再起動時に、/run 直下に作成したディレクトリを削除しないようにする 26
16 CentOSの日付や時刻が合っていない 26
17 cron 25
18 Certbot 。回答を得られなかったQ 25
19 ファイル拡張子などで条件を絞って全置換するためには、「grep」ではなく「find」を使用 25
20 Nginx エラー対応。解決したが原因不明 24
2021/9/25 9:23 更新
週間人気ページランキング / 9-18 → 9-24
順位 ページタイトル抜粋 アクセス数
1 Nginx設定。エラーログレベル | Nginx(Webサーバ) 17
2 PHP実行ユーザ設定 / CentOS6 / Apache | PHP(プログラミング言語) 14
3 9回目-13.MySQL5.7.21設定 | CentOS 7 2週間無料のお試し期間 9回目(さくらVPS) 12
4 PHPのmb_send_mail関数でメール送信できない | メール処理システム 10
5 ImageMagick と imagick の違い | ImageMagick(ソフトウェアスイート) 9
6 さくらVPS0 8
6 tar: これは tar アーカイブではないようです 8
7 manページ日本語表示 | CentOS 7 (CentOS) 7
7 Reached target Shutdown メッセージが表示されたあと、シャットダウンまたは再起動プロセスがハングアップする | CentOS 7 (CentOS) 7
8 ABRT により 問題が検出されました | CentOS 7 (CentOS) 6
8 PHPファイルでchmodエラー | PHP(プログラミング言語) 6
8 「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」対応 6
8 Python 3.5 アンインストール / yum remove | Python(プログラミング言語) 6
9 FFmpeg 2.8.15 を yum インストール | ソフトウェアスイート 5
9 echo と cat の違い 5
10 phpMyAdmin 4.4.3(phpMyAdmin) カテゴリー 4
10 6回目-10.Nginxでバーチャルホスト設定確認 | CentOS 7 2週間無料のお試し期間 6回目(さくらVPS) 4
10 「さくらVPS」で、「CentOS6」を「CentOS7」へ変更するためには? | CentOS 7 2週間無料のお試し期間 Link(さくらVPS) 4
10 cronで定期実行しているphpファイルを、コマンドライン経由で即時実行する | cron(Linuxコマンド) 4
10 MySQL 5.5 から 5.6 へのアップグレード | MySQL(データベース) 4
2021/9/25 1:01 更新