カテゴリー : linux,bash

このカテゴリーの登録数:9件 表示 : 1 - 7 / 9

Aug 24, 2010

quota の設定をたくさんのユーザに適用する。

ポスト @ 12:14:54 | linux,bash,quota

ScanImage017
※写真と本文は関係ありません。


quota の設定をたくさんのユーザに適用するときに便利。ユーザ( newuser )に元になるユーザ( olduser )と同じ設定を適用する。

# edquota -p olduser newuser

-p protoname Duplicate the quotas of the prototypical user specified for each user specified. This is the normal mechanism used to initialize quotas for groups of users.

Dec 28, 2009

ファイルのないディレクトリを削除する。

ポスト @ 14:12:12 | linux,bash

☆ピノ
※写真と本文は関係ありません。


tmpwatch でフォルダは削除されないので…。

[root@backup_samba_server ~]# find /home/samba/.trach/ -type d -empty -delete

怖いけどできる。


参考にさせていただきました。
[linux][bsd] 空ディレクトリだけを削除する

Jul 08, 2009

Nagios の check_domain を改造。

ポスト @ 15:48:20 | Nagios,linux,bash

ドメインのうっかり失効を監視したくて Nagios に監視させたい。

MonitoringExchange.orgchange_domain を見つけたんですが、末尾 jp ドメインに対応していない。(日本語ドメインには対応してた。『ほげほげ.org』とか)

試しにこんな感じ。日本語『ほげほげ.org』取得できますね。


[furuyama@nagios check_domain]$ ./check_domain_org -d ほげほげ.org
CRITICAL - Domain expired on 03-Mar-2007 00:00:00 UTC


で『 jp ドメイン』検索できるように改造。


[furuyama@nagios check_domain]$ diff -Nur ~/svn/check_domain/check_domain_org ~/svn/check_domain/check_domain
--- /home/furuyama/svn/check_domain/check_domain_org    2009-06-18 14:43:06.000000000 +0900
+++ /home/furuyama/svn/check_domain/check_domain    2009-06-19 18:25:10.000000000 +0900
@@ -57,7 +57,24 @@
 fi
 
 # Calculate days until expiration
-expiration=`whois $domain |grep "Expiration Date:"| awk -F"Date:" '{print $2}'|cut -f 1`
+# for ".jp"
+chk=`echo $domain | grep -qi ".jp$"`
+if [ $? = 0 ]
+then
+    # for ".co.jp"
+    chk_jp=`echo $domain | grep -qi "co.jp$"`
+    if [ $? = 0 ]
+    then
+        expiration=`whois $domain |grep "\[State\]" | awk -F"Connected" '{print $2;}' | sed -e "s/^ (//" | sed -e "s/)$//"`
+    # 他のをチェックするなら
+    else
+    # 
+        expiration=`whois $domain |grep "\[Expires on\]"| awk -F"]" '{print $2;}'  |sed -e "s/^ *//"`
+    fi
+else
+# ".jp" 以外
+   expiration=`whois $domain |grep "Expiration Date:"| awk -F"Date:" '{print $2}'|cut -f 1`
+fi
 expseconds=`date +%s --date="$expiration"`
 nowseconds=`date +%s`
 ((diffseconds=expseconds-nowseconds))


末尾 jp でチェックしてさらに、co.jp かどうか確認。

12 時間に 1 回チェックするように、Nagios 設定。


こんな感じで日本語 OK。ちょw『ほげほげ.jp』取得済み。


[furuyama@nagios check_domain]$ ./check_domain -d ほげほげ.jp
OK - Domain will expire in 144 days


しばらくは大丈夫だったんですが、更新したはずのドメインが『更新期限が近いですよー!』とアラートが…。確かにコンソールから whois コマンドを実行すると更新期限が近い…。( jwhois-3.2.3-8.el5 で /etc/jwhois.conf に whois.jprs.jp が設定されていた。)

『そんなはずはないんだけどなぁ。。』と、登録したレジストラの whois サーバを指定して確認すると更新後の期限で登録されている。(夢で見たらしい。2009/07/30追記)

ぐぬぬ。

『whois.jprs.jp の期限が更新されてない。』とレジストラに確認 → 期限が切れないと更新されないらしい。(まあ監視してないと気づかなかったことなので…。)

自分で登録したドメインしか確認しないので whois サーバを指定して確認したほうがいいのであとで改造します。と言っておこう。(やはりダメっぽいのでなかったことに。。2009/07/30追記)


改造してから気づいたけど書いてるかたがいらっしゃいました。
Nagiosでドメイン失効を監視する - それ、Gentooだとどうなる?
ぬー。


2009/07/30 追記
jp ドメインの場合、JPRS の有効期限が切れた翌日に更新されるので Whois サーバ指定してもダメとのこと…。jp ドメインは最終的に JPRS のWhois サーバに紹介されるのでダメと…。
今回『お名前.com』がレジストラで、お名前.com の Whois 確認サイトで確認しても JPRS のWhois サーバの結果が表示される。

違うサイトに説明があった。

更新手続きをしても、Whoisで有効期限が変わりませんが何故ですか?

JPドメイン名の場合、Whois情報はJPRS様のデータベースが有効期限の翌日に更新されます。 その為、弊社で更新手続きをしても反映されません。
弊社にて更新手続きが完了しますと管理画面内に表示されている有効期限が書き換わります。

Apr 10, 2009

UNIX Time への変換。

ポスト @ 13:10:32 | linux,bash

こちら(→ unixtime と 日付 の相互変換 | Linux - P-SOC)を参考に備忘録。

日付から UnixTime


$ date +%s
1239335935


UnixTime から日付


$ echo 1239335935 | awk '{print strftime("%c",$1)}'
2009年04月10日 12時58分55秒


Perl で書けばいいのか…。な。。→ DateTime.pm だそうな。

Oct 29, 2008

フォルダの使用量が少ない順にソートする。

ポスト @ 16:28:32 | linux,bash

du -h -k /home/backup/ | sort -t 1 -n


du

  • -h, --human-readable : 人が読み易い形式(e.g., 1K 234M 2G)で表示する。
  • -k, --kilobytes : --block-size=1024と同様。


sort

  • -t separator : 各行からソートキーを検索する際、文字 separator をフィールドのセパレーターにする。デフォルトでは、フィールドは空白以外 の文字と空白文字の間の空文字列 (empty string) によって分離される。例え ば入力行として ` foo bar' が与えられた場合、 sort はこの行をフィールド ` foo' と ` bar' に分離する。フィールドセパレーター は、その前後のフィールドには含まれないものとされる。
  • -n : 先頭の文字列 (空白が前置されていても良い) を数値文字列として比較す る。数値文字列は、先頭の - 符号 (なくても良い)、 0 桁以上の数字、 そして小数点と 0 桁以上の数字 (なくても良い) からなる。


du -k /home/backup/ | sort -n

でもおなじような気がしますが…。

Jul 24, 2008

便利なコマンド(IDEA*IDEAさんよりコピペ)

ポスト @ 17:40:22 | linux,bash

コピペ!

おぉぉぉ、と思ったんだけど、$_ をいつも忘れるので…。書いておこう。


あなたが知らないかもしれないLinuxのコマンドいろいろ | IDEA*IDEA

Jul 02, 2008

grep で『 引数リストが長すぎます( Argument list too long ) 』

ポスト @ 19:25:09 | linux,bash

spam のゴミ箱の中のメールを検索しようとして。


$ grep yahoo.com /var/trash/*
-bash: /bin/grep: 引数リストが長すぎます


とエラー。


$ cd /var/trash
$ grep yahoo.com *


ってやったら、OK。


『 /var/trash/ 』の長さもカウントされるんだ。ほぉ〜。

xargs というコマンドが便利そうだ。→あとでよく読もう。
xargs - 『ウィキペディア(Wikipedia)』