Linux
あるサーバで5分毎に実行しているバッチ処理があって、毎回の処理でどの程度の処理時間がかかっているのか、サーバの負荷と比較したときに処理時間は比例するのか……など調べていた。 細かな解析についてはスクリプトを用意してゴリゴリと解析していたんだけ…
先日仙台のインフラ勉強会に参加して、藤田さんが発表でちょっと見せてくれたkSarが良さげだったので試してみました。前に試したときは、良さを堪能できなかった、というか英語で使いこなせなかったのですが、コンソール上でsarが出力する数字と睨めっこする…
表題でメモは完了している、という話しですが。 # cat > /etc/syslog/hoge <
表題でメモは完了している、という話しですが。 # cat > /etc/syslog/hoge <
コンテンツをバックアップするスクリプトを書き上げてから、こんな単純な要求に対して複雑すぎる……感が半端ない。無駄かー (テストで)「/etc/」以下と、「/var/log/」以下をバックアップ バックアップは25日間保存 「/srv/contents-backup-datastore」以下…
不安定なWebサーバを再起動でしのごうとしたら、問題なく終了したサービスが起動してこない……。 あせってネットワークを再起動したり迷走したけど、よく確認したら終了しないで生き残ったプロセスがいるから、80番ポートが解放されていないのが原因でした。 …
複数台のCentOSを準備するために、同じパッケージのインストール作業を自動化するためのシェルスクリプトを用意しました。 自動化という意味ではもっと素敵な方法あると思いますが、マニュアルライクな対応ができてステキ……というか、手抜きな対応なのです (…
ページャーはマルチバイトに対応していて軽量だったらいい、程度の認識だったのでlvを使用していました。でも、八割方プログラムソースや設定ファイルを見るのに使用するのだから、シンタックスハイライトとか使い慣れているvimと統一されているほうがいいね…
# gpasswd -a cracker wheel
# gpasswd -a cracker wheel
Apacheプロセスのメモリ確保状況をしたくて、↓のスクリプトでモニタリングしてみる。ついでに、合計も出してみる。 [dev]~ $ cat monitor_proc.sh #!/bin/sh if [ $# -ne 1 ]; then echo "usage: #{0} [pname]" exit 1 fi pname=$1 pidlist=$(pgrep -d, -x $…
「/proc/(pid)/status」のメモリサイズからメモリ消費量をリストアップするスクリプトを準備した。 「サーバ/インフラを支える技術」に載っている、id:naoyaさんの共有しているメモリのサイズを計算するスクリプトとあわせて、エクセルに落とし込んでごにょ…
getentコマンドを使って、/etc/nsswitch.confの設定から検索できる。 getent passwd getent group LDAPやNISなどの認証も含めて、設定に応じてシステムのユーザを網羅
manが英語しかないので、いまいちちゃんと使えてなけどがんばってみた。 tree -a -I "test|img|.backup|*.ucp|*.ucm|*.swf|*~" --dirsfirst /var/www/html/ > /tmp/tree.txt 「.htaccess」などの隠しファイルをリストアップ 「test」「img」「.backup」のデ…
固定フォーマットでユーザIDだけ可変なディレクトリとかファイルの生成 export FOO_BAR=/tmp/foo-`id -u`-bar rm -rf $FOO_BAR mkdir $FOO_BAR ls -ld $FOO_BAR export FOO_BAR=/tmp/foo-`id -u`-bar rm -rf $FOO_BAR touch $FOO_BAR ls -l $FOO_BAR
用意していたhttpd.confに交換 [root ~]# cd /etc/httpd/conf [root conf]# cp httpd.conf httpd.conf.`date "+%F@%R"` [root conf]# cp ~/install/etc/httpd/conf/httpd.conf /etc/httpd/conf conf.dの中身も用意していたものと交換、不要なものは無効化 [r…
勢いでZABBIXをインストールする。 ソースから入れて管理するのは嫌なので、yumでインストール。 # yum --enablerepo=remi,epel,rpmforge install zabbix zabbix-web zabbix-agent 1.4.6で古めだけど、いつも使ってるのも似たバージョンなので気にしない。こ…
sudoで「audit_log_user_command(): Connection refused」のエラーが発生するので、sudoをコンパイルしてインストールする。 [root ~]# yum install gcc [root ~]# yum install pam-devel [root ~]# cd /usr/local/src [root src]# wget ftp://ftp.informati…
お名前.comのVPSサーバを借りる。 どうしても(楽に)自由サーバがほしくて、メモリ1GBで3,000円以内ならありかな、と契約した。 よくみたら、512MB(最大1GB)だった。よく考えればそんなにハードに使わないので、1,000円くらいのでよかったような……。 [roo…
忘れないようにメモ CRLFとLFの差分を無視したい diff --strip-trailing-cr linux.txt windows.txt ディレクトリの差分でも diff -qr --strip-trailing-cr linux windows manで調べてないのでダメかと思ったら、infoであった info diff
アプリケーションのログとか、よく日単位でローテートする。 だいたいアプリレベルでファイル名にYYMMDDを関連付けて片づける。 その最新版ログをチェックするのに、いちいち名前指定がムダと思った。 tail -n100 -f /var/log/httpd/access_log.`date +%F` …
swfmillをコンパイルしたらエラーでこけた。 SELinuxのライブラリに対するセキュリティ属性が適切に設定されていない……ということのよう。rootユーザでコンパイルしたlibxmlなどのセキュリティ属性を変更 chcon -c -v -R -u system_u -r object_r -t textrel…
データを空にするには「: >」を使う。 $ touch test.dat $ du -h test.dat 4.0K test.dat $ echo 'test1' >> test.dat $ echo 'test2' >> test.dat $ echo 'test3' >> test.dat $ cat test.dat test1 test2 test3 $ du -h test.dat 8.0K test.dat $ : > test…
サーバのセットアップが完了してからオペレータの権限に適合させるときとか。 #/bin/sh DIR=/home/user LOG=$DIR/log/chfile.log WORKDIR=/opt/httpd/docs USERNAME=ftpuser # Main routine echo "chown/chmod start." `date` >>$LOG for i in css form imag…
業務アプリでとったログをざっと確認するツール。 複数アプリのログを過去5日分、エラーが記録されたものだけGREPするイメージ。 #/bin/sh DIR=/opt/app INCLUDES=(`/bin/ls -A -t ${DIR}`) for APP in ${INCLUDES[@]} do LOGS=$DIR/$APP/logs if [ -e "${LO…
#/bin/sh DIR=/home/foo LOG=$DIR/log/version echo "version is recorded " `date` >>$LOG echo "-------------------------" >>$LOG echo "PHP" >>$LOG echo "-------------------------" >>$LOG /usr/bin/php -v >>$LOG echo "Apache" >>$LOG echo "-----…
比較的大きな規模のサイトでコンテンツを削除するの時に、どこかにリンクが残っている可能性がる場合の検索方法がいつもよく分からない。 findとgrepで大雑把に探して、その結果から精査しているけど効率が激しく悪いと思う。 cd /usr/local/apache/ find do…