カテゴリー : Linux

screen でよく使うパターン

長時間、掛かるバッチや集計処理を動かすときに、screenを使えば幸せになれるかも。

ということで、screen でよく使うパターンを流れに沿って、まとめてみました。


何かしら時間が掛かるコマンドを実行する

  1. sshログイン
  2. セッション名を付けて screen を起動する
    screen -S samplename
  3. screen を起動できているか確認する (Attached になっていたらOK)
    % screen -ls
    There is a screen on:
            15117.samplename  (Attached)
    1 Socket in /var/run/screen/S-ec2-user.
  4. コマンド実行!!
  5. screen のセッションから一時離脱(デタッチ)
    Ctrl-a Ctrl-d

コマンドの実行が終わったか確認する

  1. sshログイン
  2. セッション一覧を確認する
    $ screen -ls
    There is a screen on:
      15117.samplename  (Detached)
    1 Socket in /var/run/screen/S-ec2-user.
  3. セッション名を指定して再開 (Attached)
    screen -r 14418.samplename

参考情報

screenコマンドを使う – インテグレイテッドシステムズ

screenに名前をつけて管理する方法。まとめ – それマグで!

デタッチされているscreenを削除する | Linuxで自宅サーバ構築

[Linux] CSV、テキストファイルなどを指定した行数で分割するコマンド

CSV ファイルを一定の行数毎に分割したいというケースがあったので split コマンドを使って対応しました。

前提

  • users.csv を100行毎に分割したい
  • 分割したファイル名の先頭に users- という名前を付ける
  • 分割したファイルは tmp ディレクトリ以下に作成する

1. 対象のファイルを100行毎に分割する

split コマンドを使って、ファイル分割します。

split -l 100 users.csv tmp/users-

2. 分割したファイルに拡張子 .csv を付ける

for文でループ処理させて、mv コマンドでファイル名の最後尾に .csv を1ファイルずつ付けます。

cd tmp/
for filename in users-*; do mv $filename $filename.csv; done

以上です。

参考情報

[Linux] cp -a コマンドでディレクトリごとコピーする

cp コマンドでディレクトリごとコピーするオプションをいつも忘れてしまっていたのでメモ。

cp コマンドだけだとファイル単体はコピーできるけど、ディレクトはコピーできなくて、-a オプションを付けるとディレクトリ構造を保持したままディレクトまるごとコピーできます。

$ cp -a target_dir copy_dir

参考情報

Linuxコマンド逆引き大全 – 【 ディレクトリごとコピーする 】:ITpro

[Linux] Host名(hostname)の変更方法

Linux で、Host名(hostname)を変更する方法をメモ。

例として、サーバのホスト名を codenote.net に設定するとします。

/etc/hosts にホスト名を追記する

# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
 
↓(追記)
 
127.0.0.1   codenote.net localhost localhost.localdomain localhost4 localhost4.localdomain4

/etc/sysconfig/network の HOSTNAME を変更する

# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain
 
↓(変更)
 
NETWORKING=yes
HOSTNAME=condenote.net

ホスト名の設定を反映する

特に問題なければ、サーバを再起動しましょう。

# reboot -h now

コンソールのホスト名が気にならない場合は、ネットワークの再起動だけでもOKです。

# service network restart

以上です。


参考情報

Linuxのホスト名を変更する

[Linux]ドメインの TXT レコードを nslookup -q=txt コマンドで確認する

ドメインの TXT レコードは nslookup コマンドに -q=txt オプションを付けて、確認することができます。

以下は、bakorer.com というドメインのTXTレコードを確認した結果です。

% nslookup -q=txt bakorer.com
Server:		192.168.0.1
Address:	192.168.0.1#53
 
Non-authoritative answer:
bakorer.com	text = "v=spf1 include:aspmx.googlemail.com ~all"
 
Authoritative answers can be found from:
bakorer.com	nameserver = dns01.muumuu-domain.com.
bakorer.com	nameserver = dns02.muumuu-domain.com.
dns01.muumuu-domain.com	internet address = 157.7.180.150
dns02.muumuu-domain.com	internet address = 182.48.37.179

[Linux] ファイルのハッシュ値を取得するコマンド

Linux で、ファイルのハッシュ値を取得するコマンドをメモ。

■ openssl コマンドの例

$ openssl sha1 targetfile
SHA1(targetfile)= 9b90064097ee3290b73dde4c72f1d4291c01ffdd

■ md5sum コマンドの例

$ md5sum -b targetfile
6f9e8d46c4e5afa1ee5a881114ee3b9e *targetfile

[参考]

@IT:Security Tips > ファイルハッシュ値の計算

[Linux] バックアップすべきディレクトリ一覧

Ubuntu や CentOS などの Linux サーバーで構築したマシンのバックアップすべきディレクトリを調べたのでメモ。

一般的にバックアップすべきデータ

・一般ユーザーのディレクトリが存在する : /home
・WebサイトやFTPサイトのコンテンツが存在する : /var
・アプリケーションがインストールされる : /usr
・各種設定ファイルがある : /etc

[参考]:Linuxシステム運用管理術 – 最終回 Part2 応用編 サーバー・システムを効率良く管理する(2):ITpro

[Linux] メモリ(memory)管理について

Linux のメモリ(memory)管理について参考になったサイトをメモ。

Linux のメモリー管理(メモリ-が足りない?,メモリーリークの検出/防止)(Kodama’s tips page)

[cURL] GET/POST/PUT/DELETE

cURL で GET/POST/PUT/DELETE のリクエストを送りたい場合は、-X オプションでメソッド名を指定すればOK

curl -X PUT -d 'example[foo]=bar' http://example.com/api/xxx

curl 便利!

[iptables] Applying firewall rules: iptables-restore v1.4.7: no command specified Error occurred at line: 6

iptables を編集後、再起動したらエラーが発生しました。

■ エラーメッセージ

# service iptables restart
iptables: Applying firewall rules: iptables-restore v1.4.7: no command specified
Error occurred at line: 6
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
                                                           [FAILED]

■ 解決方法

何も書いてない行にスペースがないか確認する。
→スペースがある場合、削除する

以上です。


参考情報

さくらのVPSへのiptablesの設定 | 9ensanのLifeHack