- ベストアンサー
自動的に電源を切る方法(Vine Linux)
VineLinux 2.6r1をインストール予定です。 夜の時間帯だけサーバとして運用して朝には電源をOFFにするつもりですが、朝になったら自動的に電源OFFにする方法はありますか?Windowsを使っていたときはそのようなアプリがあったのですが、Linuxにはあるのでしょうか? ちなみにLinuxはパソコンを強制終了させても問題ないでしょうか? さすがにGUI(X Window)を使ってるときは問題あるかもしれませんが、CUI(テキストベース)ならMS-DOSのように突然電源を落としても問題ないでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Vineはさわったことがないので違っていたら、申し訳ないのですが・・・。 電源の自動OFFですが、 たいていのUN*X系のOSには、cronという仕組みがあり、を利用すると実現できます。これは、あらかじめ実行したい時間と、内容をしていしておき、一定の時間が来たら、実行する仕組みです。 cronにお仕事を命令するには、crontabというもので、実行時間と、コマンドを定義します。 たとえば、コマンドから「crontab -e」と入力すると(OSによって異なる知れません。)エディタが起動しますので、 SHELL = /bin/shと利用するshellを定義した上で、 5 7 * * * shutdown -h now などと記述します。(この設定だと、毎朝7時5分にPCがシャットダウン可能な状態になります。) なお、APM(最近のPCは対応していると思いますが・・・。)に対応したPCであれば、 shutdown -p now で、電源がOFFになると思います。 なお、電源をOFFことができる権限のユーザになって、そのユーザで「crontab -e」しないと、権限の問題で動かないかも知れません。 なお、UN*X系のOS電源を突然切ることは、危険ですから、お勧めできません。理由は様々ですが、例えば、パフォーマンス向上等のために書き込み遅延を行っている場合も少なくないので、この場合に突然電源を切れば、データの破損等につながります。 くどい様ですが、shutdownコマンドの使用をお勧めします。 参考文献はとくに載せませんが、googleで検索するといろいろ出るかと思いますし、 man cron や man crontab も有用だと思いますので、お読みになってください。 以上、私は、FreeBSDで一時期、自動電源OFFを上記のような方法でやっていたことがあり、それを思い出して書いてみました。
その他の回答 (3)
- xjd
- ベストアンサー率63% (1021/1612)
>ちなみに「crontab」コマンドはOS起動時に毎回実行する必要があるのでしょうか? >一度設定すればその後もずっと適用されるのでしょうか? ずっと適用されます。 # crontab -l で、設定が消えずに残っているか確認できます。 VineLinuxの場合、root個人でもcrontabを設定できますが、OSでも以下のように すでに定義されています。 # cat /etc/crontab 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly 毎日、4時2分に、/etc/cron.daily/ 以下のプログラムが動く様になっています。 # ls -l /etc/cron.daily/ 合計 28 -rwxr-xr-x 1 root root 276 Apr 9 2001 0anacron -rwxr-xr-x 1 root root 51 Oct 4 2001 logrotate -rwxr-xr-x 1 root root 423 Dec 31 2001 makewhatis.cron -rwxr-xr-x 1 root root 70 Nov 27 2002 postfix -rwxr-xr-x 1 root root 99 Jan 28 2002 slocate.cron -rwxr-xr-x 1 root root 103 Dec 13 2002 tetex.cron -rwxr-xr-x 1 root root 204 Jan 17 2002 tmpwatch あなたが、cronで電源OFFする時は、/etc/crontab の設定とぶつからない様に 時刻を決めてください。
- xjd
- ベストアンサー率63% (1021/1612)
crontabとshutdownコマンドの組み合わせで、指定時間に サーバの電源をOFFにすることができます。 ただし、サーバのBIOSの設定や、Linuxのカーネルの種類等に よってはshutdown実行後、英語で「電源を切っても良いです」 というようなメッセージが表示されたままの状態になるマシン も少なくありません。 その場合は、linuxの起動時にカーネルパラメータを指定したり liloのパラメタファイルにオプションを指定したり、BIOSの設定を 変更する・カーネルを再コンパイルする等の 試行錯誤が必要になります。 (以下URL等参考) 「APM対応のはずが自動的に電源が切れない」 http://www.zdnet.co.jp/help/tips/linux/l0071.html >DOSのように突然電源を落としても問題ないでしょうか? こういう事をした場合は、大抵ファイルシステムの不整合が発生し、 次回起動時に、「ファイルシステムがマウントできない」等の現象が 発生し、起動途中でメンテナンスモード(シングルユーザモード)に なってしまいます。 cdromから起動して、ハードディスクのファイルシステムをfsckコマンド で修復することになります。 ファイルシステムが修復できても、データが失われている可能性もあります。
お礼
>「APM対応のはずが自動的に電源が切れない」 これは何度か聞いたことがありますが、1行追加するだけで解決するんですね! ちなみに「crontab」コマンドはOS起動時に毎回実行する必要があるのでしょうか?一度設定すればその後もずっと適用されるのでしょうか?
- yyukami
- ベストアンサー率46% (110/237)
先ず、GUIだろうとCUIだろうと突然電源を落としたりしたらいけません。 で、毎朝自動的に電源を落としたい、ということですが、プログラムを定期的に実行するにはcronを使います。でこの設定を行うのがcrontabというコマンドです。 例えば、毎日朝7時に電源を落としたいなら、rootで、 crontab -e と打つと編集画面になりますから、ここで 0 7 * * * shutdown -h now と打って保存します。これでOKです。 これは、左から0分 7時 毎日 毎月 毎曜日 にシステムをシャットダウンする という意味です。 それから、rootでログインしてcrotabを実行しているので、シャットダウンのコマンドもrootで実行します。rootじゃないとシャットダウン出来ないですからね。 詳しいことは、参考URLをどうぞ。
お礼
参考URLが勉強になりました。 インストールが終了したら試してみたいと思います。ありがとうございました。
お礼
これです!このような自動実行コマンドがあったらいいなぁと思ってました! とりあえず試してみようと思います。ありがとうございました。