タグ

Linuxに関するgikanのブックマーク (47)

  • CentOSの初期設定で最低限やること(@さくらのVPS) - Qiita

    続いてrootに関する設定を行います。 以下ではrootになれるユーザーおよびsudoコマンドの実行ユーザーの設定を行っています。 # vim /etc/pam.d/su # 以下の行のコメントを外す auth required pam_wheel.so use_uid # visudo # 以下の行のコメントを外す %wheel ALL=(ALL) ALL

    CentOSの初期設定で最低限やること(@さくらのVPS) - Qiita
    gikan
    gikan 2014/05/22
  • 今日から業務で使える17の運用系Linuxツール、そして円環の理

    運用系ツールのつもりが、新人さんに伝えたい「円環の理」資料になってしまいました。 “qpstudy 2013.04”の @zembutsu LT 発表資料です 『qpstudy3周年記念LT大会 〜新人さん、業界にようこそ!〜 with ビール』 http://www.zusaar.com/event/613004� 共有したかった事 ・2013年、這い寄る混沌・ガラケーは衰退しました ・基コマンドの連携は必須 ・時系列リソース監視が鍵 ・仲間達と協力する心も大切Read less

    今日から業務で使える17の運用系Linuxツール、そして円環の理
  • bashによるシェルスクリプトの小技(2) - shibainu55日記

    前回(bashによるシェルスクリプトの小技(1))に引き続き、シェルによって自動的に値が設定される特殊な変数について紹介する。特殊な変数を参照することにより、様々な情報を取得することができる(ただし、これらの変数には自分で任意の値を設定することはできない)。 さて、まずは特殊変数を一覧でまとめてみる。お馴染みのものが多いが、最後の2つ(特に最後のPIPESTATUS)についてはきっと今まで知らなかった人もいるんじゃないだろうか。シェルの中でパイプすると途中のコマンドのリターンコード、拾えないとか思っていませんか?今回のポイントとしては、「1. PIPESTATUS変数について」と「2. 特殊変数 $@と$*の違いについて」の2点を主に説明する。 特殊変数一覧表 変数名 自動的に設定される値 $? 直前に実行されたコマンドの終了ステータスが設定される変数。正常終了の場合は「0」、異常終了の場

    bashによるシェルスクリプトの小技(2) - shibainu55日記
  • tail -f と 多段grep : 野ログはノロキュアMaxHeart

    tail -f access.log みたいな感じでログを追うことはよくありますよね。 いやでもほむほむに関するログだけでいいわー。って時は tail -f access.log | grep homuhomu みたいにしますよね。 青いのが関係するログはいらないわーって時更に tail -f access.log | grep homuhomu | grep -v sayaka みたいにしますよね。 grep1段階までなら問題ないんですが、多段のgrepをかました時にtail -f してるのにリアルタイムに出力されねー。 なんかまとめて表示されるんだけど・・・ ってなりませんか? これgrepが出力先が標準出力かどうかを見てbufferを切り替えているかららしいです。 オプションで行単位のbufferに変えられるのでパイプに対して出力しているgrepに --line-bufferedとい

    tail -f と 多段grep : 野ログはノロキュアMaxHeart
  • 高負荷サイトのボトルネックを見つけるには : DSAS開発者の部屋

    はじめに アクセスが急増すると、応答時間が著しく悪化するサイトはありませんか? 普段は200ミリ秒以内で安定してアクセスをさばいているのに、イベントやらキャンペーンやらを開始した瞬間から、普段の2倍や3倍のアクセスが殺到し、その結果、レスポンスタイムが3秒とか9秒とかかかるようになってしまうことってありますよね。 あるサイトの実状 つい先日まで、そんなサイトが私の目の前にもありました。自社で運営している某ソーシャル系のサイトなんですが、イベント開始時刻と同時にアクセス数が急増するのです。とはいえ、所詮は普段の2倍とか3倍程度の数なのだから、少なくとも1秒以内にレスポンスを返せるくらいの性能は維持したいものです。 しかし実際は困ったことに、応答に3秒以上もかかってしまう処理が大量に発生してしまう状況に陥ってしまっていました。これはきっと、どこかにボトルネックがあるに違いありません。 仮説を立

    高負荷サイトのボトルネックを見つけるには : DSAS開発者の部屋
  • DBサーバーの負荷分散

    MySQLアクセスを負荷分散する ユーザーからのアクセス数が非常に多いWebサイトにおいて、MySQLのSLAVEサーバーを複数台並べて負荷分散させるということがよく行われています。ただ、Webアクセスの負荷分散は一般的なテーマなのでいろいろなところで語られているのに対し、DBアクセスの負荷分散というテーマは一般的でないのかあまり語られていないように感じます。 DBアクセスを負荷分散するにあたって一番荒っぽい方法は、Webサーバー上のプログラムの中でどのSLAVEサーバーに接続するかをランダムで決める方法です。ランダムと言っても長時間アクセスしているとほぼ接続先が均等化されるので、一見この方法でも問題ないように見えます。しかしこの方法だと、接続しに行こうとしたSLAVEサーバーが高負荷もしくはサービス停止中であっても構わず接続しに行ってしまうという問題があります。 このような問題を解決する

  • CentOS 6.3 に MySQL 5.6 をインストールしてみた - akishin999の日記

    MySQLのインストール方法が進化していた! - sakaikの日々雑感〜(T)編 http://d.hatena.ne.jp/sakaik/20130205/mysql5_6_install こちらの記事を読んだら使ってみたくなったので、 MySQL 5.6 を CentOS 6.3(x86_64) にインストールしてみました。 手順もほぼ上記記事と同じです。 CentOS 6 なので以下のように yum に RPM ファイルの URL を直接指定してインストールできます。 # yum install http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-client-5.6.10-1.el6.x86_64.rpm \ http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/

    CentOS 6.3 に MySQL 5.6 をインストールしてみた - akishin999の日記
  • MySQLのインストール方法が進化していた! - sakaikの日々雑感~(T)編

    バージョン5.6 が待望のGAとなりました!早速、あいていたサーバに入れてみました。インストール後の設定が、至れり尽くせりになっていて、びっくり!*1 ちょっと引用が長くなるけど、敢えて途中のカットとかをしないで載せたいと思います。 あ、linux(CentOS) へのインストールです。 まず、取得したrpmのファイルを使ってインストールします。 # rpm -ivh MySQL-server-5.6.10-1.rhel5.x86_64.rpm Preparing... ########################################### [100%] 1:MySQL-server ########################################### [100%]すると、数分間かけて、以下のような文字列がつらつらと表示されてきます(ここでは、コメントをい

    MySQLのインストール方法が進化していた! - sakaikの日々雑感~(T)編
  • RHEL6/CentOS6では、single-request-reopen を必須にしたい…

    2012-11-02 結論から言えば、とりあえず RHLE6/CentOS6 な人は /etc/resolv.conf に options single-request-reopen を書いておこうという話です(全部小文字ですよ、念のため) なぜか? RHEL5/CentOS5/Ubuntu 10.04なLinuxとかでは、FQDN の解決をするときに DNSキャッシュサーバに AAAA RR の Queryを投げる AAAA RR の Reply を受ける DNSキャッシュサーバに A RR の Queryを投げる A RR の Reply を受ける という挙動でしたが、RHEL6/CentOS6 では DNSキャッシュサーバに A RR の Queryを投げる DNSキャッシュサーバに AAAA RR の Queryを投げる A RR の Reply を受ける AAAA RR の Re

    gikan
    gikan 2012/11/24
  • xargs -P が激しく便利なのでメモ - おともだちティータイム

    xargs の -P オプションを使うとプロセスを複数起動して処理を並列に行なうことが出来る。 例 例えば、 1 万枚の JPEG 画像を全て 800x800 に収まるように効率良くリサイズしたい。 まず私はこのようなコマンドを考えた。 convert --geometry 800x800 *.jpg しかし zsh に怒られた。 zsh: argument list too long: convert 引数が全て展開されるためこのような事が起きる。 私は xargs を使って処理することを思い付いた。 ls | xargs -I{} convert --geometry 800x800 {} c_{} 処理は行なわれるが非常に遅い。 しかも CPU を全く使っていないことが分かり、私は処理を並列的に行なう事を考えた。 そこで xargs の -P オプションの出番である。 P の後に並列

    xargs -P が激しく便利なのでメモ - おともだちティータイム
  • 原因調査用Linuxコマンド | 外道父の匠

    サーバの動作に異常が発生した際に原因を探るためのLinuxコマンドで、自分用のメモです。 全てmanとかググったら出てくるので説明は適当です。思いついたら後で追記していくかもです。 対象はDebian Squeezeになります。 全てパッケージインストールできるもので、パッケージ名は [in packagename] としてあります。 各所よりコメントありがとうございます。 良さ気なコマンドは追記していきます。 <追加したコマンド> * telnet (+コメント wget, netcat) * arp (+コメント arpwatch) * pstree * fdisk コメントに gdisk * host, dig * watch * reboot

    原因調査用Linuxコマンド | 外道父の匠
  • PHPでPINGを使ってマシンの死活監視をする方法 | Web活メモ帳

    PHPでサーバーの死活管理 サーバーが生きてるか死んでるかを確認するのにPingを使う方はいると思いますが、 今回PHPからPingを使う方法を知ったので自分用にメモ。 execを使用する方法、fsocketopenを使用する方法の2パターンありますが、 fsockeopneを使用するとポートの指定も出来るので、MySQLやApacheが稼働しているかのチェックにも使えます。 ソースコードは以下 execでサーバーにpingを送信する方法 /* Ping送信プログラム */ function ping($host) { $r = exec(sprintf('ping -c 1 -W 5 %s', escapeshellarg($host)), $res, $rval); //pingの結果を表示 //print_r($r); return $rval === 0; } /* $hostに死

    PHPでPINGを使ってマシンの死活監視をする方法 | Web活メモ帳
  • Apache Benchを使った負荷テストのやり方 | Web活メモ帳

    2016/07/11 追記しています 皆さん負荷テストツールって普段使ってますか? WEBシステムを開発する際には、1人〜十数人で開発をすると思いますが、 受諾案件では要件を満たす開発ばかりしていて速度やパフォーマンスのチューニングを行う事が少ないと思います。 いざ運用が始まって、サーバーが落ちた・・とならないように負荷テストを事前にやっておきましょう。 Apache Benchでのサーバーパフォーマンスのチェック方法をメモしておきますので、どなたかの役に立てれば幸いです。 負荷テストとは 負荷テストって何ですか?という方のために簡単に説明をすると 低い負荷ではシステム上問題が無くても、高負荷での動作だと不具合を起こす現象を回避するためのテストです。 アクセスが集中して落ちてるサイトがありますよね。。 想定されるアクセスがあっても落ちないサイトにするための負荷テストです。 Webサーバーの

    Apache Benchを使った負荷テストのやり方 | Web活メモ帳
  • 「プロのためのLinuxシステム・10年効く技術」を超絶おすすめいたします - さよならインターネット

    プロのためのLinuxシステム・10年効く技術 ウェブオペレーションという言葉が一般的になってきた今日、 Linux上で様々なソフトウェアを駆使し、多種多様なウェブサービスが次々と生まれ その産まれた様々なサービスを、陰ながら支えるエンジニアも増えてきました。 ウェブオペレーションエンジニアとか、インフラエンジニアとか サーバエンジニアとか、色々と呼称はあるかとは思いますが 日常的にLinuxを扱う人は、書籍はマストアイテムです。 「はじめて読む486」、「はじめて読む8086」などを読み どうやってノイマン型コンピュータが動いているのか メモリの仕組みはどうなっているのか、HDDにどうやってデータを 書き込んでいるのか、工学系の知識が足りないながら調べたりもしましたが この書籍があれば、深い知識の森を迷うことなく、整備された美しい一歩の道を、 Linuxの知識へと続く道を歩いていくこと

    「プロのためのLinuxシステム・10年効く技術」を超絶おすすめいたします - さよならインターネット
  • joinコマンドが便利過ぎて生きるのが辛い - Y's note

    Linuxシステムプログラミング 作者: Robert Love,ロバートラブ,千住治郎出版社/メーカー: オライリージャパン発売日: 2008/04/16メディア: 大型購入: 5人 クリック: 181回この商品を含むブログ (29件) を見る 結合 Unix/Linuxの標準コマンドで2つのファイルの共通keyで連結することができます。共通keyでの結合にはjoinコマンドを利用します。joinによりSQLのinner joinに近いことがコマンドだけで出来てしまいます。今までテキスト処理をコマンドで行う事が少なかったのでjoinの活用方法を知りませんでしたが、今回調べた内容を記録します。似たコマンドとしてpasteというものもあり、こちらは同じ行数の内容を単純に結合します。そちらについても簡単に紹介します。 join join前にsort joinコマンドを利用する場合は2つのファ

    joinコマンドが便利過ぎて生きるのが辛い - Y's note
    gikan
    gikan 2012/09/09
  • .bash_profileと.bashrcの違いが覚えられないあなたへの処方箋 · DQNEO日記

    なぜ、「.bash_profileと.bashrcの違い」をすぐ忘れてしまうのか? ずばり、 「どっちに書いても、実用上は対して変わらない」 からでしょう。 ちょこっと環境変数を定義する程度なら、どっちに書いても動くのです。 どっちに書いてもそれなりに動く → 違いがわからない → 忘れる これが魔の忘却ループです。 .bash_profileと.bashrcの違いを絶対に忘れない方法 ではどうすればよいか? 「違いを自分の目ではっきりと見ること」 これに尽きます。 これから、一緒に手を動かして簡単な実験をしてみましょう。 5分ほどで終ります。 準備はいいですか? ① .bash_profileにechoを書いてみる .bash_profileの最下行に1行追加します。 echo "\(うぇるかむようこそプロファイル)/" ② .bashrcにechoを書いてみる .bashrcの最下行に

    .bash_profileと.bashrcの違いが覚えられないあなたへの処方箋 · DQNEO日記
  • 俺史上最強のiptablesをさらす - Qiita

    #!/bin/bash ########################################################### # このスクリプトの特徴 # # 受信・通過については基的に破棄し、ホワイトリストで許可するものを指定する。 # 送信については基的に許可する。ただし、サーバが踏み台になり外部のサーバに迷惑をかける可能性があるので、 # 心配な場合は、送信も受信同様に基破棄・ホワイトリストで許可するように書き換えると良い。 ########################################################### ########################################################### # 用語の統一 # わかりやすさのためルールとコメントの用語を以下に統一する # ACCEPT :

    俺史上最強のiptablesをさらす - Qiita
  • 知っておくと役立つかもしれないLinuxコマンド(サーバ確認関係)

    こんばんは、牧野です。 一時期また夜型になってしまっていたのですが、最近はまた朝型生活、というよりも早朝型生活になりました。 仕事の方はというとsymfony案件は一段落して、今はオリジナルのフレームワーク、ライブラリでプログラムを作ったり、javascriptのプログラムを1から書いたりと、マイペースでやっています。 さて、今日も軽めなネタで、知っているといざという時に役立つ、かもしれないLinuxのコマンドです。 サーバ構築や緊急対応などでサーバを触る場合は使う機会があると思います。 ■サーバのOS情報を確認

    知っておくと役立つかもしれないLinuxコマンド(サーバ確認関係)
    gikan
    gikan 2012/07/24
  • cron の設定ガイド

    ■はじめに cron とは、ジョブ(スクリプト)を自動実行するためのデーモンプロセスです。そして、Linux システムの管理を行なう場合、ログのローテートや、バックアップなど、定期的に自動実行したいジョブが数多くあります。特に、バックアップなどは、システムへの負荷が大きいため、通常は、ユーザからのアクセスが少ない、深夜や早朝に行なわれます。 このように、定期的に実行されるジョブは、crond というデーモンによって、自動的に行なうように管理することができます。そこで、今回は、cron の設定を行なうために必要なコマンドや、設定ファイルについて説明していきたいと思います。 ■設定手順 このページでは、以下の順番で cronの設定について説明します。 まず、Linuxシステム上で、cron を使用するために、サービスの起動で、サービスの状態を確認し、停止している場合には、サービスを起動します。

    gikan
    gikan 2012/07/24
  • crontab -e は「絶対に」使ってはいけない - ろば電子が詰まつてゐる

    今までナチュラルにcrontab -eでcron編集をしていたのだけど、実はこれはとてつもなく危ないやり方だった。ということを、今さら知った。 crontab -rの恐怖 crontabコマンドにはrオプション(Remove)があり、これを実行すると何の警告もなく全てが消え失せる。 macbook:~ ozuma$ crontab -l 15 * * * * /home/ozuma/bin/hoge.sh 0 9 1 * * /home/ozuma/bin/piyo.sh > /dev/null 2>&1 */5 * * * * /home/ozuma/bin/fuga.sh > /dev/null 2>&1 macbook:~ ozuma$ crontab -r macbook:~ ozuma$ crontab -l crontab: no crontab for ozuma macbo

    crontab -e は「絶対に」使ってはいけない - ろば電子が詰まつてゐる
    gikan
    gikan 2012/07/24