「reboot」または「shutdown -r now」:どの再起動コマンドの方が安全ですか?


50

組織には約500台のRedHat Linuxマシンがあります。

すべてのマシンで/etc/init.d、アプリケーションとサービスを、およびOracle RACサーバーの下にインストールしました。すべてのマシンでyumの更新を実行し、その後再起動します。

だから私はどのコマンドがより安全か疑問に思っていました:

reboot

または

shutdown -r now



6
巻き戻しましょう:なぜ安全性に違いがあると思いますか?
underscore_d

2
@underscore_d:クリーンシャットダウンの手順がすべて同じではない「内部使用のみ」のコマンドであると考えるのは理不尽ではありません。たとえば、最初のクリーンシャットダウン手順を実行した後、一方が他方を使用する場合があります。もちろん、manページでは、これrebootは単なるレガシーコマンドであり、下位互換性のためにのみ存在していると説明しています。
ピーターコーデス

1
@knowhy質問は、別のサイトの質問と重複することはできません。–
非常識な

回答:


50

Red Hatシステムの場合は、何の機能的な違いが存在しないrebootとはshutdown -r now

あなたにとってもっと簡単なことをしてください。


13
しかし、1つはより多くの入力を可能にし、基本的には「クール」です!
非常識な

1つはスーパーユーザーアクセスを必要とし、もう1つは(制限されていない限り)Xセッションから任意のユーザーが実行できます。
バーハンKhalid

2
@BurhanKhalidサーバーのXセッションにランダムにログインしているユーザーがいる場合、2つのコマンドのどちらが「安全」であるかを考えるよりも大きな問題を抱えている可能性があります。
CVn

1
少なくともDebianでは(Red Hatについては知らないが、Janne Pikkarainenの答えはそれが似ているが異なるかもしれないと示唆しているが)haltrebootそしてpoweroff、Mikhail Tが説明したように、理由メッセージも時間も受け入れない。私は、あるツールが別のツールでは「機能的な違い」を許さないことをできると考えていると思います。
CVn

88

シャットダウンは、抜本的なアクションの理由を指定できるため、望ましいです-常に行うべきことです。メッセージは、後世のためにログに記録されます。例えば:

shutdown -r now 'Kernel upgrade requires reboot'

また、再起動時間以外のものを指定することにより、スケジュールされた再起動を実行することもできますnow

shutdown -r 22:00 'Work around kernel memory leak'

その後、ユーザーは外に出るなどの定期的なリマインダーを受け取ります-プロセスはより整然とプロフェッショナルになります。


13

あなたは、両方のRHEL 7で、見てみる場合/sbin/shutdown/sbin/reboot、実際にsystemdのにちょうどシンボリックリンクされているsystemctlコマンド。だから、あなたが望むものを使用します。ewwhiteが言ったように、まだsystemdを使用しなかった以前のRHELリリースでも機能的な違いはありませんでした。


12
この引数はあまり説得力が/sbin/shutdownあり/sbin/rebootませ:すべてのケースで同じように振る舞わないことは明らかです(特に:/sbin/shutdownデフォルトでは再起動しません!)それARGV[0]を調べ、それに応じて動作を調整します。これにより、意図しない違いのリスクが確実に減少しますが、OPが知りたい意図的な機能な違いがないという説得力のある証拠ではありません。
-ruakh

3
特に異なる名前が含まれる場合は、シンボリックリンクが等価であることを意味することに注意してください。
mckenzm

ruakhは正しいです-についてrebootシンボリックリンクされていても、ちょっと考えてみてsystemctlください。たとえばreboot status whatever.service、後者と同じようには使用できません。
-grawity

9

使用する方rebootが安全です。

reboot意図を使用することは明確でありshutdown -t now、制御が制限されたリモートサーバーで使用している場合に頭痛の種になるような他の何かを誤って入力する方法はありません。


2
私見は過小評価された答え。多くの場合、意図を明確にすることがいかに重要であるか、長期的にどのくらいの時間と言葉を節約するかを忘れます!
ラフトマト

1

最近のRHELでは、ここに要約されているようにsystemctlコマンドを使用することをお勧めします。[最近] RHELディストリビューションは、新しいsystemctlコマンドを使用してpoweroff / rebootを発行する必要があります。リブートおよびシャットダウンのマンページに記載されているように、それらは「互換性のためにのみ使用可能なレガシーコマンド」です。

ただし、多くの異なるディストリビューション、またはさまざまなヴィンテージのディストリビューションを使用する場合は、おそらくに固執しshutdown -r now 'reason for shutdown'ます。

使用rebootする主な理由shutdown -rは、リモートマシンで使用するときに-rを追加するのを忘れるリスクを回避するためです。機械。


0

古いシステムでは、とを明確に区別shutdownしていましたreboot。後者は、サービスをシャットダウンしたり、ディスクバッファを同期したりする必要はありません。異機種混在環境では、または他の* ix実装に遭遇したときに将来危険になる可能性のある先例を避けるために、shutdown習慣に入ることには価値があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.