ぼくのいきかた

ゆるくやりまする

logrotate について その後

書くの忘れていましたが、確認したところこんな感じでした。

-rw-r--r--. 1 root root 0 10月 28 03:33 lastlog
-rw-r--r-- 1 root root 20 10月 24 03:34 lastlog-20191025.gz
-rw-r--r-- 1 root root 20 10月 25 03:47 lastlog-20191026.gz
-rw-r--r-- 1 root root 20 10月 26 03:06 lastlog-20191027.gz
-rw-r--r-- 1 root root 20 10月 27 03:30 lastlog-20191028.gz
-rw-r--r-- 1 root root 0 10月 27 03:30 logrotate

 

 

 

しっかりとローテートされています。

 

これで、ログの肥大化を防ぐことができます。

 

一通り作業としては完了です。

 

他になにを書けばいいかわからないですね。。。

 

どんなことについて書けばいいのやら。。。

 

ここまでコマンドのことを書いてきたので、

そのまとめを書いていこうかと思います。

 

 

 

logrotate について

 

今日はログローテートの設定について書きます。

 

そもそもログローテートってなに?ってところですよね。

 

ログってサーバの情報を記録しているファイルです。

 

cd /var/log と打ってみましょう。

 

ls- lと打った時にファイルがでてくると思います。

 

このファイル。。。ローテートしないとどんどん肥大化してしまうんですよね。

 

なので、適切に古いファイルは別ファイルとして保存して、

新しいファイルに書き込みましょうよ。

 

といった感じです。

f:id:kidaiki:20191007142138p:plain

 

 

僕のはこんな感じです。

 

lastlogがローテートされずにどんどん肥大化してるっぽいです。

 

なので、設定しましょう。

 

基本的な設定は /etc/logrotate.conf に書かれています。

 

 

なので、見てみましょう。

cat /etc/logrotate.conf

 

f:id:kidaiki:20191007142340p:plain

 

 

上からどのくらいの周期でローテートするか。

どのくらいの数のローテートを保持するのか。

どんなファイルでローテートするか。

圧縮するか。などです。

 

no packages own wtmp and btmp -- we'll rotate them here に以下に書かれているのは

個々の設定です。

 

ただ、個々の設定は /etc/logrotate.d に書いたほうがいいです。(見やすいので)

 

ls -l /etc/logrotate.d

ll /etc/logrotate.d
合計 24
-rw-r--r-- 1 root root 160 9月 15 2017 chrony
-rw-r--r-- 1 root root 972 6月 11 00:02 mysql
-rw-r--r--. 1 root root 136 6月 10 2014 ppp
-rw-r--r--. 1 root root 224 9月 8 2015 syslog
-rw-r--r--. 1 root root 100 6月 16 2015 wpa_supplicant
-rw-r--r-- 1 root root 103 11月 5 2018 yum

 

です。

 

今回は lastlog をローテートしようと思うので、

ここにファイルを作ります。

 こんな感じに設定しました。

at lastlog
/var/log/lastlog {
copytruncate
daily
missingok
compress
rotate 4
}

 

毎日ローテートさせる。

4世代保持させる。

圧縮させる。

失敗してもエラーをはかない。

こんな感じですね。

 

次の日にどうなっているか確認しましょう。

番外編

今日は番外編というか、

今日の作業である、データセンターについて書こうかと思います。

 

基本的にデータセンターの場所は伏せられています(攻撃されたらやばいので。。。)

 

 

AWSの障害もDCの空調がダメだったみたいですしね。

 

データセンターは複数あるところが多いです。

大阪と東京とか。

 

理由としては、日本だと地震とかもあったりしたときに

どちらかが生きていればどうにかできるという考え方があります。

 

ネットワーク的にいきていたりすれば、

仮想サーバなら移動できますからね。

 

冗長化、多重化というのは

インフラエンジニアならとても大事な

考え方です。

 

サーバがダウンしてしまうことも恐怖ですが、

サービスが停止してしまえば顧客との

信頼関係がおかしくなりますからね。。

 

 

IT企業であればこの間のAWS障害についてはしょうがない

と言ってくれたりするが、

 

そうでなければ、サービス障害について詰められたりするかもしれません。

 

 

そういう意味でも同じものを2つ以上保有しておくのはとても大切だと言われています。

 

費用が多くかかってしまうので、

アクティブスタンバイとか

コールドスタンバイとか言ったりしてますね。。

 

その辺の話はまたにします。

mysql について

今回はブログを書くというよりも、作業履歴について書こうかと思いました。

 

深夜の作業でmy.cnfを編集する作業があるから。。。

 

 

あー眠い。

 

そもそもmy.cnfってなにもの??

 

mysqlというのが、いわゆるデータベース管理システムです。

図書館で本の検索とかする時に膨大な情報の中から

必要なデータを引き出してくれますよね。

 

 

あれが、データベースです。

 

mysqlとはその中でも人気のミドルウェアです。

 

 

そして、mysqlの設定を書き込むのがmy.cnfです。

 

それくらいの知識で今日はいいかなと思います。

 

作業が始まりそうなので、中断します。

 

 

時間調整

今日はサーバの時間を同期するコマンドについて書きます。

 

そもそもどうやって時間を確認するのかというと、

dateコマンドを使います。

f:id:kidaiki:20190813181829p:plain

 

 

こんな感じ

 

今回は調整済なので、参考にならないかもしれませんが、

 

手順は以下です。

 

yum search chronyコマンドと打ってみましょう。

 

読み込んだプラグイン:fastestmirror
[2019-08-13 17:27:34.048] Loading mirror speeds from cached hostfile
[2019-08-13 17:27:34.083] * base: ftp-srv2.kddilabs.jp
[2019-08-13 17:27:34.083] * extras: ftp-srv2.kddilabs.jp
[2019-08-13 17:27:34.083] * updates: ftp-srv2.kddilabs.jp
[2019-08-13 17:27:34.154] ================================================== N/S matched: chrony ==================================================
[2019-08-13 17:27:34.154] chrony.x86_64 : An NTP client/server

 

↑のように表示されればchronyの検索ができました。

 

それではインストールしてみましょう。

yum install chrony.x86_64 と打ってみましょう。

[2019-08-13 17:27:56.544] 読み込んだプラグイン:fastestmirror
[2019-08-13 17:27:56.599] Loading mirror speeds from cached hostfile
[2019-08-13 17:27:56.638] * base: ftp-srv2.kddilabs.jp
[2019-08-13 17:27:56.638] * extras: ftp-srv2.kddilabs.jp
[2019-08-13 17:27:56.638] * updates: ftp-srv2.kddilabs.jp
[2019-08-13 17:27:56.827] 依存性の解決をしています
[2019-08-13 17:27:56.827] --> トランザクションの確認を実行しています。
[2019-08-13 17:27:56.827] ---> パッケージ chrony.x86_64 0:3.2-2.el7 を インストール
[2019-08-13 17:27:56.836] --> 依存性の処理をしています: libseccomp.so.2()(64bit) のパッケージ: chrony-3.2-2.el7.x86_64
[2019-08-13 17:27:56.980] --> トランザクションの確認を実行しています。
[2019-08-13 17:27:56.980] ---> パッケージ libseccomp.x86_64 0:2.3.1-3.el7 を インストール
[2019-08-13 17:27:57.164] --> 依存性解決を終了しました。
[2019-08-13 17:27:57.251]
[2019-08-13 17:27:57.251] 依存性を解決しました
[2019-08-13 17:27:57.263]
[2019-08-13 17:27:57.263] =========================================================================================================================
[2019-08-13 17:27:57.263] Package アーキテクチャー バージョン リポジトリー 容量
[2019-08-13 17:27:57.263] =========================================================================================================================
[2019-08-13 17:27:57.263] インストール中:
[2019-08-13 17:27:57.263] chrony x86_64 3.2-2.el7 base 243 k
[2019-08-13 17:27:57.263] 依存性関連でのインストールをします:
[2019-08-13 17:27:57.263] libseccomp x86_64 2.3.1-3.el7 base 56 k
[2019-08-13 17:27:57.263]
[2019-08-13 17:27:57.263] トランザクションの要約
[2019-08-13 17:27:57.263] =========================================================================================================================
[2019-08-13 17:27:57.263] インストール 1 パッケージ (+1 個の依存関係のパッケージ)
[2019-08-13 17:27:57.263]
[2019-08-13 17:27:57.263] 総ダウンロード容量: 299 k
[2019-08-13 17:27:57.263] インストール容量: 773 k
[2019-08-13 17:27:57.270] Is this ok [y/d/N]: y
[2019-08-13 17:27:58.807] Downloading packages:
[2019-08-13 17:27:58.901] (1/2): libseccomp-2.3.1-3.el7.x86_64.rpm | 56 kB 00:00:00
[2019-08-13 17:27:58.986] (2/2): chrony-3.2-2.el7.x86_64.rpm | 243 kB 00:00:00
[2019-08-13 17:27:59.004] -------------------------------------------------------------------------------------------------------------------------
[2019-08-13 17:27:59.004] 合計 1.5 MB/s | 299 kB 00:00:00
[2019-08-13 17:27:59.004] Running transaction check
[2019-08-13 17:27:59.012] Running transaction test
[2019-08-13 17:27:59.034] Transaction test succeeded
[2019-08-13 17:27:59.044] Running transaction
[2019-08-13 17:27:59.139] インストール中 : libseccomp-2.3.1-3.el7.x86_64 [ ] 1/2 インストール中 : libseccomp-2.3.1-3.el7.x86_64 [########### ] 1/2 インストール中 : libseccomp-2.3.1-3.el7.x86_64 [####################### ] 1/2 インストール中 : libseccomp-2.3.1-3.el7.x86_64 [################################### ] 1/2 インストール中 : libseccomp-2.3.1-3.el7.x86_64 [############################################### ] 1/2 インストール中 : libseccomp-2.3.1-3.el7.x86_64 [################################################ ] 1/2 インストール中 : libseccomp-2.3.1-3.el7.x86_64 [################################################# ] 1/2 インストール中 : libseccomp-2.3.1-3.el7.x86_64 [################################################## ] 1/2 インストール中 : libseccomp-2.3.1-3.el7.x86_64 [####################################################### ] 1/2 インストール中 : libseccomp-2.3.1-3.el7.x86_64 1/2
[2019-08-13 17:27:59.308] インストール中 : chrony-3.2-2.el7.x86_64 [ ] 2/2 インストール中 : chrony-3.2-2.el7.x86_64 [######## ] 2/2 インストール中 : chrony-3.2-2.el7.x86_64 [########### ] 2/2 インストール中 : chrony-3.2-2.el7.x86_64 [############ ] 2/2 インストール中 : chrony-3.2-2.el7.x86_64 [#################### ] 2/2 インストール中 : chrony-3.2-2.el7.x86_64 [############################# ] 2/2 インストール中 : chrony-3.2-2.el7.x86_64 [##################################### ] 2/2 インストール中 : chrony-3.2-2.el7.x86_64 [############################################# ] 2/2 インストール中 : chrony-3.2-2.el7.x86_64 [############################################### ] 2/2 インストール中 : chrony-3.2-2.el7.x86_64 [################################################## ] 2/2 インストール中 : chrony-3.2-2.el7.x86_64 [##################################################### ] 2/2 インストール中 : chrony-3.2-2.el7.x86_64 [####################################################### ] 2/2 インストール中 : chrony-3.2-2.el7.x86_64 [######################################################### ] 2/2 インストール中 : chrony-3.2-2.el7.x86_64 [############################################################# ] 2/2 インストール中 : chrony-3.2-2.el7.x86_64 2/2
[2019-08-13 17:27:59.429] 検証中 : libseccomp-2.3.1-3.el7.x86_64 1/2
[2019-08-13 17:27:59.445] 検証中 : chrony-3.2-2.el7.x86_64 2/2
[2019-08-13 17:27:59.531]
[2019-08-13 17:27:59.531] インストール:
[2019-08-13 17:27:59.531] chrony.x86_64 0:3.2-2.el7
[2019-08-13 17:27:59.531]
[2019-08-13 17:27:59.531] 依存性関連をインストールしました:
[2019-08-13 17:27:59.531] libseccomp.x86_64 0:2.3.1-3.el7
[2019-08-13 17:27:59.531]
[2019-08-13 17:27:59.531] 完了しました!

 

 

長いですが、こんな感じ

 

 

chronyを起動してみましょう

systemctl start chronyd

 

確認

systemctl status chronyd

Activeと表示されたらOKです。

 

ystemctl status chronyd
● chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: active (running) since 火 2019-09-17 08:54:58 JST; 2 weeks 6 days ago
Docs: man:chronyd(8)
man:chrony.conf(5)
Main PID: 720 (chronyd)
CGroup: /system.slice/chronyd.service
mq720 /usr/sbin/chronyd

 

 

Linuxの勉強方法について

ちょっと毛色を変えて書きますが、

 

Linuxの勉強ってIT関係以外の方って難しいと思います。

LinuxというOSを知ることが中々ないので。。。

 

 

僕は2年くらい前にインターノウスの研修を受けるまで知りませんでした。

知ってたらもっと勉強できたのになと思うことがあります。

 

実際勉強するときは手を動かすのが一番いいです。

壊してもいい環境を作成してあげることで、

もし壊した時にも再構築やエラーの確認、解消もできるので。

 

毎日のようにエラーを起こしてる僕がいうのもなんですが。。。

 

エラーがあったときにどうしようもなければ再構築してもいいと思います。

 

 

一つおすすめなのが、英語の勉強をすることです。

 

英会話というよりも英語の文を読めるといいです。

 

エラーメッセージは基本的に英語ででます。

その文をコピペして検索するのですが、

英語の回答などもあるからです。

 

 

あとは、ベタですが、資格を取るのもアリです

 

 

Linux の資格でいうとLpicやLinuc などがあります。

 

私はlpicを勉強しています。

 

IT全体のことなら基本情報を勉強するといいかと思います。

僕も勉強中ですので一緒に頑張りましょう。

 

余談になりますが、ネットワークについても勉強しておいて

損はないです。(僕はめっちゃ苦手)

 

 

年齢によっては、IT会社に入社するのもいいと思います。

 

研修なども行かせてもらえたり、社内勉強会なども充実していれば

どんどん成長できるかと思います。

 

と、今日はこんな感じです。

 

 

 

Linux入門 mkdirコマンド

かなりさぼってしまいました。。。

 

 

仕事が地味に忙しかったもので(;・∀・)

 

今日はmkdirコマンドについて書こうと思います。

 

mkdirコマンドとは、一言で言うとディレクトリを作成するコマンドですね。

 

mkdirをもっと早く書いておくべきだったと反省しております。

 

windowsでやるとこんな感じ。

 

何もないところで右クリックして新規作成→フォルダーを選択してください。

f:id:kidaiki:20190624110340p:plain

 

デスクトップを見ると以下のように、新しいフォルダーができています。

f:id:kidaiki:20190624110435p:plain

 

 

これをLinuxでやってみましょう。

 

とりあえず、pwdを打ってみましょう。

pwdコマンドは自分が現在どのディレクトリにいるか確かめるコマンドです。

/root/workディレクトリにいることがわかりますね。

 

f:id:kidaiki:20190624110633p:plain

 

 

作業ディレクトリでllsしてみましょう

すみません。私は結構ファイルあります。。。笑

f:id:kidaiki:20190624110755p:plain

 

 

mkdir nyankoと打ってみましょう。打ったらlsをしてみてください。

nyankoディレクトリができてますね。

 

f:id:kidaiki:20190624110932p:plain

 

 

 

mkdirの公式は

mkdir ディレクトリ名

と覚えて下され。