Linux:サーバをシャットダウン・再起動する

Linuxサーバの電源落とすことは頻繁にはしないと思いますが、
サーバの負荷が高くなった時やサーバ自体を移動する場合など、
電源を切らなければいけない状況があるかと思います。

あまり頻繁には使用しないのでメモします。

サーバシャットダウン再起動する場合は「shutdown」コマンドを使用します。

shutdown」コマンドを使用して、Linuxサーバシャットダウン再起動をする方法をメモします。


「shutdown」コマンド

システムのシャットダウンや再起動で使用します。
オプションを付けることで時間を指定することが可能です。

shutdown [-h,-r] [オプション]

「-h」:ショットダウンする
「-r」:再起動する
「now」:今すぐ実行
「hh:mm」:時間を指定する
「+mins」:分を指定(現在の時間より)


シャットダウン・再起動

SSHでログインし、rootに切り替えます。

・今すぐシャットダウンする場合

shutdown -h now

・時間を指定してシャットダウンする場合

shutdown -h 10:00

・10分後にシャットダウンさせる場合

shutdown -h +10

・今すぐ再起動する場合

shutdown -r now

・時間を指定して再起動する場合

shutdown -r 10:00

・10分後に再起動させる場合

shutdown -r +10

Linux:サーバ内のファイルやディレクトリを検索する

Linuxサーバでファイルディレクトリの名前で検索したい場合があります。
場所が分からずにサーバ内を探すのは大変ですよね。

findコマンドを使用すれば簡単に検索することができます。
下記にLinuxサーバでfindコマンドを使用してサーバ内のファイルディレクトリ検索する方法をメモします。


findコマンド

指定した検索条件でファイルやディレクトリを検索します。

find [検索先] [検索条件] [アクション]

ファイル・ディレクトリを検索

・ファイルを検索

「hoge.html」というファイルを検索する場合、下記のように記述します。

find / -name hoge.html

アスタリスク(*)を指定して、ワイルドカードで検索することも可能です。

find / -name hoge.*

出力したファイルの詳細を表示する場合は「-ls」を付けます。

find / -name hoge.* -ls

・ディレクトリを検索

「hoge」というディレクトリを検索する場合、下記のように記述します。

find / -name hoge -type d

「-type d」でディレクトリを検索するように指定してます。
ファイルの場合は「-type f」でシンボリックリンクの場合は「-type l」で指定します。


Linux:ファイル、ディレクトリの圧縮と解凍

Linuxサーバのデータを圧縮解凍する方法をメモします。

サーバ移行や大量のデータを取得したい時など、様々な場面で使えます。
他にもデータのバックアップなどにも必要になってくると思います。

データ圧縮解凍する時はtarコマンドを使用します。


データの圧縮

SSHにログインし、圧縮するデータの場所に移動します。

# cd /var/www/html/
# ls
hoge
# 

「hoge」ディレクトリを圧縮する場合、下記のように記述します。
実行すると指定したファイルが圧縮されます。

# tar zcvf hoge.tar.gz hoge
hoge/
hoge/test.txt
hoge/index.html
hoge/test.jpg
hoge/test.gif
# ls
hoge  hoge.tar.gz
# 

データの解凍

SSHにログインし、解凍するデータの場所に移動します。

# cd /var/www/html/
# ls
hoge.tar.gz
# 

「hoge.tar.gz」を解凍する場合、下記のように記述します。
実行すると指定したファイルが解凍されます。

# gzip -dc hoge.tar.gz | tar xvf -
hoge/
hoge/test.txt
hoge/index.html
hoge/test.jpg
hoge/test.gif
# ls
hoge  hoge.tar.gz
# 

Linux:DNS設定でサブドメインをワイルドカードで指定

一つのドメインに対して複数のサブドメインを設定したい場合があります。
DNSの設定で「*(アスタリスク)」を使用すればワイルドカードで指定することが可能です。

サブドメインを設定する際に毎回ゾーンファイルを変更しなくてOKなので、頻繁にサブドメインを設定する場合はワイルドカードを使用した方が楽に設定できると思います。

下記にDNSの設定でゾーンファイルサブドメインの指定をワイルドカードを使用した時の記述方法をメモします。


サブドメインをワイルドカードで指定する

$TTL    86400
@       IN      SOA     ns1.hoge.com.  root.hoge.com.(
2012101001 ; Serial
28800      ; Refresh
14400      ; Retry
3600000    ; Expire
86400 )    ; Minimum
        IN NS   ns1.hoge.com.
        IN NS   ns2.hoge.com.
        IN MX 10 hoge.com.
@       IN A    xxx.xxx.xxx.xxx
www     IN A    xxx.xxx.xxx.xxx
ns1     IN A    xxx.xxx.xxx.xxx
ns2     IN A    xxx.xxx.xxx.xxx
*       IN A    xxx.xxx.xxx.xxx

最後の行で*で指定しています。

*       IN A    xxx.xxx.xxx.xxx

ワイルドカードで指定した場合、指定がない全てのサブドメインはIPアドレスで指定したサーバにつながります。
別のサーバにつなげる場合は個別に設定する必要があります。

test    IN A    aaa.aaa.aaa.aaa
blog    IN A    yyy.yyy.yyy.yyy
*       IN A    xxx.xxx.xxx.xxx

「test.hoge.com」「blog.hoge.com」はそれぞれ別のサーバにつないで、それ以外はワイルドカードで指定したサーバに接続します。


Linux:シンボリックリンクの所有者を変更する

シンボリックリンク所有者所有グループchownコマンド変更しようとしたのですが、何度実行しても所有者や所有グループを変更することができませんでした。

下記にその時のコマンドを記載します。
※シンボリックリンク「img」の所有者や所有グループを「hoge」に変更する場合です。

# ls -la
lrwxrwxrwx 1 root root   41  5月 15 20:26 img -> /var/www/html/hoge/img
-rw-r--r-- 1 hoge hoge 1600  5月 15 17:25 index.php
# chown hoge:hoge img
# ls -la
lrwxrwxrwx 1 root root   41  5月 15 20:26 img -> /var/www/html/hoge/img
-rw-r--r-- 1 hoge hoge 1600  5月 15 17:25 index.php

所有者や所有グループが変更されませんでした。

シンボリックリンクの所有者や所有グループを変更する場合はオプションで「-h」を付けないと変更できないそうです。

-hオプションはシンボリックリンクを変更する場合に使用します。
リンク自身の所有者、所有グループを変更します。

-hオプションを使用して変更した際のコマンドを下記に記載します。

# ls -la
lrwxrwxrwx 1 root root   41  5月 15 20:26 img -> /var/www/html/hoge/img
-rw-r--r-- 1 hoge hoge 1600  5月 15 17:25 index.php
# chown -h hoge:hoge img
# ls -la
lrwxrwxrwx 1 hoge hoge   41  5月 15 20:26 img -> /var/www/html/hoge/img
-rw-r--r-- 1 hoge hoge 1600  5月 15 17:25 index.php

シンボリックリンクの所有者、所有グループを変更することができました。
また、下記のように末尾に「/」を付けて実行すると変更されませんでした。

# chown -h hoge:hoge img/