質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
cron

cronは、Unix系OS上でデーモンプロセスとして動作する、スクリプトの自動実行が可能なジョブスケジューラです。

Raspbian

Raspbianは、DebianベースのRaspberry Pi用ディストリビューション。ハードウェア浮動小数点演算を有効にすることが可能で、Webブラウズなどの速度を向上できます。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Q&A

解決済

4回答

3223閲覧

起動直後にシャットダウンするラズパイとしないラズパイの違い

退会済みユーザー

退会済みユーザー

総合スコア0

cron

cronは、Unix系OS上でデーモンプロセスとして動作する、スクリプトの自動実行が可能なジョブスケジューラです。

Raspbian

Raspbianは、DebianベースのRaspberry Pi用ディストリビューション。ハードウェア浮動小数点演算を有効にすることが可能で、Webブラウズなどの速度を向上できます。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

0グッド

0クリップ

投稿2020/06/26 05:19

編集2020/06/27 04:21

前提・実現したいこと

2台のラズパイ(Raspberry Pi 3 Model B+)があります。
動作に違いがあり、その要因を知りたいです。
分かる方はおられますでしょうか?

■ラズパイ1

  1. 毎日同じ時刻にシャットダウンするようにcronを設定する
  2. その時刻が来るとcronでシャットダウン(1回目)が実行される
  3. シャットダウン後、ラズパイの電源を入れ直して起動(1回目)する
  4. 起動直後(1分以内)にシャットダウン(2回目)してしまうときがある(確率は半々くらい)
  5. ラズパイを起動(2回目)してsyslogを見ると、1回目のシャットダウン時の時刻で1回目の起動が始まっている(これは、2回目のシャットダウンの有無に依らず共通動作。シャットダウンから起動までの間は時計が止まっている。)。2回目のシャットダウンが発生してしまうときだけは、NTPで時刻同期する前にシャットダウンのcronが動作してしまっている。

■ラズパイ2
1)、2)、3)は同じ。
4) ラズパイ1のような起動直後のシャットダウンを見たことがない

■知りたいこと
起動直後にシャットダウンするラズパイと、しないラズパイの違いは何でしょうか?
(要因は何でしょうか?)

背景:
ラズパイ2が今後シャットダウンしてしまうと困るので、今後もシャットダウンしないなら、その仕組みを知って安心したいです。
(ラズパイ1の対策よりも、仕組みを知りたい気持ちの方が強いです。)

環境の違い

raspbianのバージョンはともに9.4(stretch)ですが、以下の違いがあります。

■ラズパイ1
raspbian OSのイメージを下記サイトからダウンロードして使用しています。
http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/raspbian-2018-11-15/2018-11-13-raspbian-stretch.zip

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l GNU/Linux

■ラズパイ2
購入したSDカードに入っていたNOOBSで構築したraspbian OSを使用しています。

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.14.71-v7+ #1145 SMP Fri Sep 21 15:38:35 BST 2018 armv7l GNU/Linux

該当のソースコード

crontabでのシャットダウンの記述は下記です。

25 4 * * * sudo shutdown -h now

試したこと

仮説:
ラズパイ1をネットワークに接続していない場合は、時刻同期できないので、必ず発生するのではないか?

結果:
必ず発生するとは限らない。
起動直後にシャットダウンしないまま1分を経過(次の分に進む)ことがある。
(起動直後にシャットダウンすることもあったかもしれないが覚えていない)

cronの分からない点

cronは1分に1度動くようですが、一度起動したらこれを覚えていて、重複起動しないような仕組みがあるのかな?と思いました。このお蔭で「ラズパイ2」は2回目のシャットダウンが発生していない、また、「ラズパイ1」は何かが原因で重複起動しない仕組みがはたらいていないとか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

自己解決ではありませんが、原因が見えてきましたので、本質問はクローズします。

【想定原因】
ラズパイ2にのみ、サードバーティー製のツールをインストールしていたため。ツールのインストール有無だけが違う環境を改めて作成し、動作を比較したところ、違いが出たため。

ご協力いただいた方々、ありがとうございました。

投稿2020/06/29 23:35

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

uyanさん、

最新のbusterベースのもので確認したものですが、
ラズパイは、fake-hwclockというサービス( /lib/systemd/system/fake-hwclock.service)を使っていて、
シャットダウン時と、一時間おき(/etc/cron.hourly/fake-hwclock)に、
現在時刻を保存するようになっていて、起動時に保存した時間を設定することをしています。

  • 実行例
pi@raspberrypi:~ $ cat /etc/fake-hwclock.data #保存されたデータ 2020-06-26 09:12:38 pi@raspberrypi:~ $

なので、cronの実行と、それが関係してるかもしれません。
65秒待つ(1分後にする) => シャットダウン してみるとどうでしょうか?

% sudo crontab -e

25 4 * * * sudo bash -c 'sleep 65; sudo shutdown -h now'

投稿2020/06/26 09:21

編集2020/06/26 11:59
mt08

総合スコア1825

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/06/27 04:23

いろいろとご検討いただいたようで、ありがとうございます。 fake-hwclockは名前を知っていたくらいで、詳しくなかったため勉強になりました。 シャットダウンの防止策としてはご提案いただいた内容で行けそうに思います。 そもそも、起動直後に同じcronが動いてしまう環境と動かない環境があるのは、何の違いに依るのか、が分かるのいいのですが。 参考までに、投稿文を更新しました(cronの分からない点)。
guest

0

ラズパイ1をネットワークに接続していない場合は、時刻同期できないので、必ず発生するのではないか?

PC、サーバーだと、電源オフ中もハードウェアクロックは動き続けますが、そういう仕組みにはなってないのでしょうか?
であれば、crondの起動を時刻同期後まで遅らせるしか無いと思います。

投稿2020/06/26 06:00

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/06/26 07:15

ご回答、ありがとうございます。 ハードウェアクロックがないため、電源オフ中は時刻が進んでいません。 対策案についてのアドバイスも、ありがとうございます。
guest

0

シャットダウン時に現在時刻を記録してログ出すようにすればなにかわかるのでは。
想像でどーこーいってもしようがないとおもいます。

投稿2020/06/26 05:24

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/06/27 03:10

回答、ありがとうございます。 syslogにある、シャットダウン処理と起動処理の時刻で確認していました。
y_waiwai

2020/06/27 03:17

で、どういう結果なんでしょうか
退会済みユーザー

退会済みユーザー

2020/06/27 03:56

投稿文の「■ラズパイ1」の部分を更新しましたので確認いただけますか?解釈によって受け取り方が変わりそうだったため、表現改善しています。よろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問