lockfileの使い方
多重起動を防止するのにlockfileというコマンドがあるとのこと。
デフォルトの環境では入ってなかったのでprocmailをインストールしてテスト。
#!/bin/bash LOCKFILE=./lock.file lockfile -5 -r 2 $LOCKFILE if [ $? -ne 0 ]; then echo "lock failed" exit 1 fi echo "lock success!!" sleep 15 rm -f $LOCKFILE
既にロックされているファイルにlockfileコマンドを実行しても待ち状態になる。
引数で間隔とか試行回数、タイムアウト時間も設定できるのですごく便利。
Postfix備忘録
個人的なPostfixの備忘録をメモ。
1.ローカルドメイン*1の知らない受信者宛のメールが届くと
"User unknown in local recipient table" で拒否される。main.cf の local_recipient_maps でローカル受信者の名前・アドレスを持つ検索テーブルを指定しているので、
local_recipient_maps =
にすると以上のエラーは発生しなくなる。
2.HELO/EHLOのホスト名が自分自身のホスト名と同じ場合、
"greeted me with my own hostname xxxx.xxxx"
で破棄される。
これはメールループが発生していると判断されるようだ。
SMTPサーバに外部から接続できない
iPhoneから自宅のSMTPサーバにアクセスできなかったので下記修正。
→ iPhoneのMUAのサーバポートの設定を587に変更
→ ルーターの設定で外部からの587番ポート通信を25番に変更
→ アクセス可能に
プロバイダーのOP25Bが原因だと思いますが、未だにOP25Bが理解できていないと実感。
/usr/libexec/dovecot/mkcert.sh を実行。
ここで"first num too large"と"invalid field name"というエラーが発生し、
/etc/pki/dovecot/certs/dovecot.pemが作成されない現象。
/etc/pki/dovecot/dovecot-openssl.confの
Orgnization と Organizational Unit Nameをコメントアウトすると無事に実行できました。
ゲストOSにIPを割り当て、同一セグメントにする
自宅のWindowsマシンにVMWareを導入し、CentOSをインストールしてみました。
しかしながら、同一セグメント上のPCからゲストOSに向けてpingを飛ばしても届かない。
というわけで原因を調べてみると、ネットワーク設定がNATになっていて、
ホストOSとゲストOSが共通のIPを使用しているため、別の同一セグメント上のPCから
pingをゲストOS宛てに飛ばしても届かないというわけでした。
ってなわけで調べるとVMWareのネットワークアダプタをブリッジ接続にすると良いとのこと。
その前に、ブリッジ接続とは何か分からなかったので調べてみる。
ブリッジ接続とは、もともと異なるネットワークセグメント同士をソフトウェア処理またはハードウェアブリッジ装置によって接続することにより、同一のセグメントとして結合する手法である。
イーサネットブリッジをソフトウェアによって実現するとき、ブリッジの対象となる2個以上のイーサネットセグメントに対して接続されたLANカードの集合に対してブリッジ接続ソフトウェアを動作するように設定することにより、それらのイーサネットセグメントは1つのセグメントとして結合される。その結果、あるセグメント内のノードは、別のセグメント内のノードと通信することができるようになる。このような処理をソフトウェアによって提供する場合の機能や手法の名称がブリッジ接続である。
なるほど、異なるセグメント同士を同一セグメントとして結合するための手法なのか。
というわけでVMWareの設定を変更後、無事に同一セグメントとして疎通が取れるようになりました。
議事録の書き方
議事録の書き方でためになるサイト
書き方の基本から時間短縮のコツまで、使える「議事録」の書き方 - はてなニュース
1分で「使える議事録」に仕上げるチェックリスト - ITmedia エンタープライズ
議事録の書き方 基礎講座 : LINE Corporation ディレクターブログ
とりあえず
「会議名称・日時・場所・参加者」と、
「誰が・何を・いつまでに・なぜ・どのようにするのか」
を意識して書く必要があるとのこと。
実践できるように頑張ろう。。
■
シェルスクリプトメモ
# ピリオド[.]で文字列を分割し、1つ目を取得 cut -d "." -f 1 # 文字列の長さ length=`echo -n $str | wc -c` # numをインクリメントする num=`expr $num + 1` # 特定の文字をカウント num=`echo $str | sed -e "s/[^\.]//g" | wc -c`
オプションを入力されたとき
#!/bin/bash getopts "r" opt echo $opt
このとき
- ./test.sh : ? と出力される
- ./test.sh -r : r と出力される
- ./test.sh -rd : r と出力される
- ./test.sh -d : ./test.sh: illegal option -- d と出力される
- ./test.sh -d -r : ./test.sh: illegal option -- d と出力される