サバカン ワンライナー

kobataです。
サバカンが使う簡単なBashのワンライナーを紹介します。

ワンライナーとは

  • 1行だけのプログラム
  • 良く利用される言語はPerl、Ruby、Bash
  • エディタを起動するほどの手間はかけたくない時に利用

自分は作業が面倒な時や、同じ動作を繰り返す時に利用するようにしてます。

①データ移行中に転送量を目視

while true; do df -h |grep /home ; sleep 1 ; done

コンテンツデータやメールデータ、DBのDumpデータなどを移行中利用。
どのくらいデータ移行したか進捗を確認することができます。
せっかちな人やデータ転送によるサーバ負荷が気になる人は利用ください。

②rrdファイルをdump/restore

for i in *.rrd ; do rrdtool dump $i > /home/kobata/cacti/${i%.rrd}.xml ; done ;

Cactiのリプレイス時などに利用。
for文を利用すれば、scpなどで複数サーバへデータコピーすることも可能。

for i in 1 2 3 ; do scp kobata.txt 192.168.1.$i:/home/kobata/ ;done

③アクセスログの抽出

for (( i=0; i<=9; i++ )) ; do grep "14/Mar/2012:0$i" /var/www_logs/*access_log.20120314* ;done

お客様によって特定時間のアクセスログがほしいと要望を頂く事があります。
今回はwhile文とfor文のみで申し訳ないです。
他にもいろいろあると思いますので、また紹介したいと思います。

ありがとうございました。

投稿者プロフィール

kobata
オンプレからクラウドまで幅広く見てるサーバエンジニアです。
得意分野は、AWSと監視ツール!開発は勉強中です!!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.