サーバーコマンドで、小技的なモノを集めておきました。
%command% > /dev/null 2>&1
cromバッチの際に付けておくおまじないオプション。(不用なログを排出しない。)
Unix ではファイル記述子というのがあって、番号、多くの場合 0, 1, 2 が使われます。
0:入力
1:普通のメッセージ出力
2:エラーメッセージの出力
というように使い分けされている。
%command% > /dev/null という部分は、command の普通のメッセージ(ファイル記述子1番)を
/dev/null というファイル(このファイルは特殊で、ここに出力された内容は全て捨てられる)に出力される。
残る "2>&1" という部分ですが、これは
「2番のファイル記述子を1番というファイル記述子にする」という意味になる。
従って、
"command > /dev/null 2>&1" とすることで command からの全てのメッセージは(/dev/nullに)捨てられる、
つまり、エラーがあろうがなかろうが出力されるメッセージは何もないことになる。
sudo 使用時にパスワード入力しなくても実行できるようにする
$ sudo visudo
visudo を起動して次の文字を追記する
< ユーザ名> ALL=(ALL) ALL
たとえば、 ユーザ名がhoge なら
hoge ALL=(ALL) NOPASSWD: ALL
とする。
バッチファイル等の負荷を調整する。
$ ionice %command%
Option
-c : --class <class> name or number of scheduling class,
0: none, 1: realtime, 2: best-effort, 3: idle
-n : --classdata <num> priority (0..7) in the specified scheduling class,
only for the realtime and best-effort classes
-p : --pid <pid>... act on these already running processes
-P : --pgid <pgrp>... act on already running processes in these groups
-t : --ignore ignore failures
-u : --uid <uid>... act on already running processes owned by these users
-h : --help display this help and exit
-V : --version output version information and exit
Sample
$ ionice -c3 nice -n 19 tar -zcvf log_XXXXXX.tgz log
tar.gz、tgzの中身を確認する。
$ zcat target.tar.gz | tar tv
# **lessでも確認できる
$ less target.tar.gz
サーバー内のファイル検索
$ locate ***
対象ファイル・フォルダの容量を表示する
$ du -hs [path]
階層構造をツリー表示する。
$ tree ***
***: 特定Directoryのみに絞り込める。
Option
-d : ディレクトリのみ表示
-f : 1行をファイル(ディレクトリ)ではなく、パスで表示する。
-F : ディレクトリの最後に「/」をつける。
-i : ツリー表示ではなく、リスト表示にできる。(-fと合わせて使うと便利)
Sample
$ tree hoge -fi
※findよりも速いんじゃない?
特定ディレクトリ内のファイル数を取得する。(拡張子判別あり)
$ find ./api -name "*.csv" | wc -l
0 件のコメント:
コメントを投稿