時刻の設定

 

●システムクロックとハードウェアクロックの設定

システムクロック:ソフトウェアとして動作する時計、起動時にハードウェアクロックと合わされる

ハードウェアクロック:コンピュータに内蔵されている時計、電源をオフにしても動作している

コマンド 説明 書式 主なオプション 補足
date システムクロックを表示/設定する

(スーパーユーザのみ可能)

date [MMDDhhmm[[CC]YY].[ss]]

オプションなしだと
現在のシステムクロックを表示する
その場合、引数を「+」で始めると表示書式を指定できる
%Y :年
%m :月(01〜12)
%d :日(01〜31)
%H :時(00〜23)
%M :分(00〜59)
%a :曜日(Sun〜Sat)
%b :月名(Jan〜Dec)

例えば 
date "+%Y/%m/%d (%a)"
2007/01/06 (Sat)

MM :月(2桁)
DD :日(2桁)

hh :時(2桁)
mm :分(2桁)

CC :西暦の上2桁
YY :西暦の下2桁

ss :秒(2桁)

hwclock システムクロックとハードウェアクロックを合わせる hwclock [オプション] -r :
ハードウェアクロックを表示する

-w (--systohc) :
ハードウェアクロックにシステムクロック値を設定する

-s (--hctosys) :
システムクロックにハードウェアクロック値を設定する

 

 

●タイムゾーンの設定

UTC(世界標準時)と時差のある地域で運用する場合は、
/usr/share/zoneinfo ディレクトリ以下にある各地域のファイル名を、
/etc/timezone ファイルに記述する

 

 

●NTPによる時刻修正

NTP(Network Time Protocol):
正確な時刻を刻むサーバ(NTPサーバ・タイムサーバ)からネットワーク経由で正確な日時を取得する仕組み

ntpdate NTPサーバ名 コマンドでシステムクロックを設定する

NTPサーバの設定は、 /etc/ntp.conf ファイルで行う

 

 

 

 

システム管理の自動化

 

●日時を指定して処理を実行する(実行されるのは1回のみ)

コマンド 説明 書式 主なオプション 補足
at 指定した日時にコマンドを自動的に実行
(ジョブを作成)
at [オプション] 日時

プロンプト「>」が出るので、
自動的に実行したいコマンドを入力
(複数可)
最後にCtrl+Dを押すと終了

日時は、
22:00
10:00pm
22:00 Dec 31
のように指定する

-l :
予約しているジョブを表示

-d ジョブ番号 :
予約しているジョブを削除

-f ファイル名:
コマンドを記述したファイルを指定

atq 予約しているジョブを表示 atq at -l  と同じ
atrm 予約しているジョブを削除 atrm ジョブ番号 at -d ジョブ番号  と同じ

 

atコマンドの利用制限:
/etc/at.allow ファイルが存在する場合は、そこに記述されているユーザのみがatコマンドを利用可
/etc/at.allow ファイルが存在しない場合は、
/etc/at.deny ファイルに記述されているユーザがatコマンドを利用できなくなる
どちらのファイルも存在しない場合は、スーパーユーザのみatコマンドを利用可

*atコマンドをすべてのユーザに許可する場合は、空の/etc/at.deny ファイルを作成する

 

 

●定期的に処理を実行する(定期的に複数回実行)

コマンド 説明 書式 主なオプション 補足
crontab 決まった間隔で定期的にコマンドを自動的に実行
(ジョブを作成)
crontab [オプション] ファイル名

-eオプションを付けると
設定ファイルを編集できるので、
1行ごとに1件

分 時 日 月 曜日 コマンド

の形式で記述する

各フィールドの値
分:0〜59までの整数
時:0〜23までの整数
日:1〜31までの整数
月:1〜12までの整数、またはjan〜dec
曜日:0〜7までの整数
   (0と7=日曜日、6=土曜日)

1つのフィールドで
複数の値を指定:「 , 」(カンマで区切る)
間隔で指定:「*/間隔」(例えば */2)
とする

-e :
設定を編集

-l :
設定を表示

-r :
設定を削除

-u ユーザ:
ユーザを指定
(スーパーユーザのみ可能)

crontabコマンドで設定した内容は、
一般ユーザがcrontabコマンドを実行した場合、/var/spool/cronディレクトリ以下に保存され、
システム全体の設定は、/etc/crontabファイルに保存される

crondデーモンは毎分ごとに実行スケジュールをチェックするが、
指定された時刻にシステムが起動してないとジョブは実行されない
anacronはシステムが起動してない間に経過してしまったジョブを実行できる
anacronのスケジューリングは/etc/anacrontabファイルに記述される

 

cronデーモンの利用制限:
/etc/cron.allow ファイルが存在する場合は、そこに記述されているユーザのみがcronコマンドを利用可
/etc/cron.allow ファイルが存在しない場合は、
/etc/cron.deny ファイルに記述されているユーザがcronコマンドを利用できなくなる
どちらのファイルも存在しない場合は、すべてのユーザがcronコマンドを利用可

*cronコマンドをすべてのユーザに利用できなくする場合は、空の/etc/cron.allow ファイルを作成する

 

 

 

 

ログの管理

 

●syslogデーモンの設定

システムの主要なログが記録される /var/log/messages ファイル
システムの認証関連のログが記録される /var/log/secure ファイルなどがある
これらのログファイルの作成の管理をするのがsyslogデーモン(syslogdデーモンとも呼ぶ)
カーネルの出力するログはklogdデーモンが処理する

どういった種類のログをどこに出力するかといったsyslogデーモンの設定は、/etc/syslog .conf ファイルでおこなう

【書式】 ファシリティ . プライオリティ 出力先

【例】 mail . warning . /var/log/mail
    (*1)   (*2)     (*3)

ファシリティ (*1) 説明
auth/authpriv 認証システム(loginやsu)のメッセージ
cron cronのメッセージ
deamon 各種デーモンのメッセージ
kern カーネルのメッセージ
lpr 印刷システムのメッセージ
mail メールシステムのメッセージ
syslog syslog機能のメッセージ
local0〜local7 独自の設定

 

プライオリティ (*2) 説明
emerg 非常に危険
alert 危険
crit 緊急の対処が必要
err 一般的なエラー
warning システムからの警告
notice システムからの通知
info システムからの情報
debug デバッグ用の情報
none 出力なし

 

出力先 (*3) 説明
パス/ファイル名 ファイルに出力する
@ホスト名 ネットワーク上のリモートホストにログを送る
ユーザ名 ユーザの端末に出力する
/dev/console コンソールに出力する
* 全てのユーザに通知する

 

 

●ログファイルの確認

ログ出力が膨大になるので、ログファイルを確認するときはlessコマンドやgrepコマンドを使う

またtail -f コマンドで最新のログをリアルタイムで監視できる

/var/log以下のログファイルはスーパーユーザのみ参照可能

コマンド 説明 主なオプション 補足
who ログイン中のユーザを一覧表示する /var/run/utmpファイルの情報が参照される
w ログイン中のユーザとそのシステム情報を表示 /var/run/utmpファイルの情報が参照される
last 最近ログインしたユーザを一覧表示する /var/log/wtmpファイルの情報が参照される
lastlog ユーザ毎に最近のログイン情報を表示 /var/log/lastlogファイルの情報が参照される

一度もログインしたことがないユーザは
「**Never logged in**」が表示される

 

 

●ログファイルのローテーション

ログファイルから古いログを切り出し、一定以上古いログファイルを削除する作業

logrotateユーティリティによって、古いログファイルに拡張子 .1 .2 などが付けられる

デフォルトでlogrotateユーティリティが自動的に実行されるようにcronコマンドで登録してある

logrotateユーティリティの設定は /etc/logrotate .confファイルで行う

 

 

 

 

バックアップ

 

●バックアップの計画

ハードウェア障害、操作ミス、不正侵入、災害などからデータを守るために、
バックアップはコストを抑えつつ効率的に行い、
また迅速にバックアップからデータを復旧できる必要がある

バックアップの種類 説明 復旧時に必要なバックアップ
完全バックアップ
(フルバックアップ)
システムを丸ごとバックアップする 直前の完全バックアップ
差分バックアップ
(ディファレンシャルバックアップ)
前回の完全バックアップ以降に
更新・作成されたデータのみをバックアップする
直前の完全バックアップと差分バックアップ
増分バックアップ(
インクリメンタルバックアップ)
前回の各種バックアップ以降に
更新・作成されたデータのみをバックアップする
直前の完全バックアップと差分or増分バックアップ

これらのバックアップ方式をコストと復旧時の手間をバランスよく考えると、
完全バックアップは1月に一度
差分バックアップは1週間に一度
増分バックアップは毎日
などの方法が一般的にとられる(システム要件により変更する)

また更新頻度の高いディレクトリ(/home, /etc, /var/log, /var/spool/mailなど)のみバックアップを取得するなどの方法がある
逆に /proc, /dev などの更新頻度が低いディレクトリはバックアップする必要はない

 

 

●バックアップの実行

バックアップなどで複数のファイルをまとめたファイルをアーカイブと呼ぶ

コマンド 説明 書式 主なオプション 補足
tar ディレクトリ/ファイル単位の
バックアップと復元
tar [オプション] [ファイル名]

オプションの - は省略可能

x
アーカイブからファイルを取り出す

c
アーカイブを作成

f
ファイル名を指定する

z
gzipによる圧縮・解凍を行う

v
詳細情報を表示

t :
アーカイブ内のファイルを一覧表示

r :
アーカイブにファイルを追加

-delete :
アーカイブ内のファイルを削除

dump ext2/ext3ファイルシステムのバックアップ

 

磁気テープにバックアップを取るのに適している、
磁気テープデバイスは以下のように表記する

  • /dev/st0:自動巻き戻しをする
  • /dev/nst0:自動巻き戻しをしない
dump [オプション] デバイス名 バックアップ対象ファイルシステム

オプションに-は付けない

*LPICレベル1対策にはオプションを覚える必要はない?

[0-9] :
ダンプレベルを指定する
0が完全バックアップ
1〜9が増分バックアップ

f デバイス名 :
バックアップデータの出力先を指定する

u :
バックアップ終了時に
バックアップ記録
/etc/dumpdates
を更新する

restore ファイルシステムの復元 restore [オプション] デバイス名

オプションに-は付けない

*LPICレベル1対策にはオプションを覚える必要はない?

r
すべてのファイルを復元する

i
対話的に復元する

f デバイス名
デバイスファイルを指定する

cpio ファイルをアーカイブファイル、
またはアーカイブからファイルをコピー
cpio フラグ [オプション]

フラグ

-i オプション パターン :
アーカイブからファイルを抽出する

-o オプション :
アーカイブを作成する

-p オプション ディレクトリ:
ファイルを別のディレクトリにコピーする

-A :
既存のアーカイブにファイルを追加する

-d
必要ならディレクトリを作成する

-r :
ファイル名を対話的に変更する

-t :
コピーはせず、入力された内容を一覧表示

-v :
ファイル名の一覧表示

dd ディスク間でのコピー
ブートディスクの作成
dd [オプション]

 

例:起動ディスクの作成

dd if=boot.img of=/dev/fd0

if=入力ファイル
入力側ファイルを指定する
(デフォルトは標準入力)

of=出力ファイル
出力側ファイルを指定する
(デフォルトは標準出力)

bs=バイト数
入出力のブロックサイズを指定する

count=回数
回数分の入力ブロックをコピーする

 

 

 

 

 

 

 

 

 

 

 

inserted by FC2 system