タグ

Linuxに関するmogmetのブックマーク (66)

  • 最強のSSH踏み台設定 - Qiita

    追記:openssh-7.3 以降なら ProxyJump や -J が使えます ホスト名を + で繋げることで多段Proxy接続も簡単に、がコンセプトだったエントリの設定ですが、OpenSSH 7.3 から ProxyJump という設定が使えるようになったので、使えるなら ProxyJump を使う方が健全だし柔軟で使い勝手も良いのでそちらを覚えて帰ることをオススメします。 使い方は簡単で以下のような感じです。多段も行けるし、踏み台ホスト毎にユーザ名やポート番号を変えることも出来ます。 # 1. bastion.example.jp -> internal.example.jp ssh -J bastion.example.jp internal.example.jp # 2. bastion.example.jp -> internal.example.jp -> super-de

    最強のSSH踏み台設定 - Qiita
  • うっかりnohup無しで長時間かかるコマンドを実行したときに後から終了しないようにする - Glide Note

    いつまで経っても終わらないから帰れない… 途中で終了してしまうと困るので、ログアウトしても終了しないように。 作業の流れ Ctrl+Zでコマンドの中断 bgでバックグラウンドに回す jobsでジョブの確認 disownでログアウトしても実行されるようにする 実際のコマンドだと

  • 初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita

    ここ最近、沢山シェルスクリプトを書くようになりました。 元々あまりシェルスクリプトを書いたこと無かったので、色々と勉強しつつ書いてるのですが、 他のプログラミング言語とはちょっと違って独特なクセというか、発見の度におぉー!ってなることが沢山あって楽しいです。 そんなわけで、最近学んだり参考にした中で特に感動したシェルの上手い書き方をまとめてみます。 きっとまだ知らないこととかもっと上手くやる方法なんかが沢山見つかりそうなので、 もっといいやり方あるよ!って方はコメントください 何もしない : (コロン)コマンド シェルを書いていた時に非常に欲しかったコマンドがこれ!何もしない! : というコマンド(?)を利用すると、**何もせずに終了ステータス0(つまり正常終了)**を返します。 これが様々な事に使える万能コマンドで、これによって面倒なエラー処理を簡潔にできたり、 入力や出力のリダイレクト

    初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita
  • Linux に Oracle Database をインストールする場合のカーネルパラメータの設定 - ablog

    かなりてけと〜なまとめ。ツッコミ頂けるとありがたいっす。。。 共有メモリ shmmax 1つの共有メモリセグメントの最大サイズをバイト単位で指定する。 SGA が連続した共有メモリセグメントに収まるように「shmmax >= SGA の最大サイズ」となるよう設定する。 shmmni 共有メモリセグメントの最大個数を指定する。 shmmax >= SGA であれば、1インスタンス当たり1セグメントしか使用しないので、Oracle のマニュアルの推奨値4096個もあれば十分。 shmall システム全体の共有メモリの最大サイズをページ単位(4096バイト)で指定する。 つまり「(shmmax * インスタンス数) + Oracle 以外で使用する共有メモリの最大サイズ」を指定する。 セマフォ semmsl セマフォ集合体内のセマフォの最大数。 「semmsl >= PROCESSES(初期化パ

    Linux に Oracle Database をインストールする場合のカーネルパラメータの設定 - ablog
  • prompt_toolkit がアツい - methaneのブログ

    とりあえず mycli と aws-shell のスクリーンキャストを見てください。 prompt_toolkit はこのようなリッチコンソールアプリを作るためのライブラリです。 Windows でも動きます。 Jupyter (ipython notebook) を切り離した、コンソール版の ipython も次のメジャーバージョンでは readline ベースから prompt_toolkit ベースに作りなおされています。 ipython 以外にも ptpython というシェルもあり、 ipython の各種 magic が不要な場合はこちらで十分でしょう。 https://github.com/jonathanslenders/python-prompt-toolkit#projects-using-prompt-toolkit には、他にも prompt_toolkit を採用

    prompt_toolkit がアツい - methaneのブログ
  • Red Hat Enterprise Linux 7.1 x86_64 インストール | install | OSS Fan

    構成 サーバ構成 ディスク構成 レッドハット社公式サイトでの推奨パーティションサイズは下記ページで確認できます。 【redhat公式サイト】推奨されるパーティション設定スキーム サーバではハイバネーションを使用しないため、swap領域は原則使用しません。 swap領域が使用されると性能的に不利なので、サーバではアプリケーションの動作に 必要な物理メモリを搭載します。swapがゼロでもLinuxは動作しますが、万一物理メモリを いつぶした場合にアプリケーション(やカーネル)が動作しなくなってしまうので、 保険として2GBだけswap領域を作成しておきます。 運用開始後、物理メモリが不足する(swapが使用される)ようであれば、 物理メモリの拡張を行う方針です。 レッドハット社の推奨とは異なる考え方ですが、私はこれで運用しています。 Oracle Databaseをインストールする場合は、イ

  • ファイルディスクリプタ数の上限変更とlimits.confの罠 | −ゆめログ− | ゆめみスタッフブログ

    記事は、2010年7月に「YUMELOG」に掲載された記事です。 2021年12月末「YUMELOG」終了に伴い、移行いたしました。 (「YUMELOG」をこれまでご愛顧いただき、誠にありがとうございました。) こんにちは、mikkoです。 今回は、1プロセスが同時オープン可能なファイルディスクリプタ数の上限を変更する方法と、その際の落とし穴についてです。 Linuxでは、同時にオープンできるファイルディスクリプタ数が制限されています。 OS全体での設定は、/proc/sys/fs/file-max等で確認でき、大規模なアクセスがあるサーバでは/etc/sysctl.confに設定を追加して上限を増やしているケースも多いでしょう。 これとは別に、1プロセスが同時オープン可能なファイルディスクリプタ数は、標準で1024となっています。 apacheのpreforkモデル等の子プロセスが多数

    ファイルディスクリプタ数の上限変更とlimits.confの罠 | −ゆめログ− | ゆめみスタッフブログ
  • ユーザーの環境変数を設定するbashの設定ファイルと、カスタムプロンプトについて

    bashの環境設定ファイルについて 普段パスを指定すること無くコマンドを利用できるのは、ログイン時にコマンドへのパスが記述された設定ファイルを読み込んでいるからです。 以下の順序で設定ファイルを読み込んでいます。 ログイン時 1.「/etc/profile」の読み込み このファイルはログイン時に読み込む全ユーザー共通の設定です。ここで基的なコマンドにパスを通しています。 2.「.bash_profile」の読み込み 続いてユーザーのhomeディレクトリにある「.bash_profile」を読み込みます。 それがない場合は「.bash_login」。 それもない場合は「.profile」。 という順序でユーザー個別の設定を読み込みます。 なぜか3つも用意されていますが、ディストリビューションによって優先順位や有効なファイルが違うため、使い分ける必要があります。CentOSの場合は「.bas

    ユーザーの環境変数を設定するbashの設定ファイルと、カスタムプロンプトについて
  • ターミナルのディレクトリ移動を高速化する - Qiita

    tl;dr よく使われるコマンドの一つに cd コマンドがあります。ターミナル生活の 80% 近くは cd と ls である、という英文記事を何処かで見かけました。それを効率化しようという Tips です。 目的 cd はよく使われるのに使い勝手が悪いコマンドである気がしてなりません。cd コマンドは有効なパス(相対パス、絶対パスは問わず)しか解釈してくれないからです。つまり、存在していて尚且つパスが解決できるものに限るのです。例えば、ホームディレクトリにいるときに、/home/lisa/work/dir に行こうとして cd dir とだけタイプしても no such file or directory (そんなディレクトリは見当たらないよ!)と言われてしまいます。きちんとした経路でなければならないのです。いちいちパスを覚えていない場合や、部分的にしか思い出せない場合には結構面倒ですよね

    ターミナルのディレクトリ移動を高速化する - Qiita
  • ターミナルの作業が捗るかもな小技5つ - Qiita

    ターミナルで作業する事が多いんですが、そのときによく使っているちょっとしたときに便利なコマンドなどを紹介します。 bashで説明します。 (zsh でもつかえるし、もっと便利になる物も多いですが) 1. 並列な階層に複数ディレクトリを一度に作成 {} を利用します。 aa,bb,cc というディレクトリを作るとき。

    ターミナルの作業が捗るかもな小技5つ - Qiita
  • mixiの年末年始対策2012-2013 - mixi engineer blog

    はじめまして、運用部アプリ運用グループのainoyaと申します。 今年4月に新卒で入社して以来、はじめてエンジニアブログを書きます。 この記事は、デスクトップ版も大変使いやすいFedoraから書いています。 はじめに ~ mixi vs 正月 ~ mixiを支えるバックエンドには、mixiを影で支えるエンジニアによって 大量のアクセスをさばききる頑丈なシステムが構築されていました。 ですが、年末年始にはその頑丈なシステムを打ち破るほど想定外な負荷が押し寄せてきます。 それは、月間利用者1,400万人以上のユーザの方々が、mixi上で交わす年末年始の挨拶です。 mixi vs 正月 ~ 戦いの歴史 ~ これまで、mixiのエンジニアによって行われてきた正月の負荷急増対策は、毎年毎年必ず乗り越えなければならない 戦いとして、脈々と受け継がれてきた歴史です。 それでは簡単になってしまいますが、今

    mixiの年末年始対策2012-2013 - mixi engineer blog
  • apacheでメモリリークしないようにするチューニング - わーくあうと!

    今日のことなんですが、運用しているWebサービスに集中したアクセスがあって繋がりづらい自体に陥ってしまいました(SSHすらも) psコマンドで確認したところhttpdプロセスがメモリをもりもり使っててメモリリーク(メモリリークとは違うけど、まあ今回はそう呼ぶ)していたようで、これはよくないとApacheのチューニングを行ったのでその内容を記事にしておきます。 なにをしたか httpdプロセスが立ち上がりすぎてメモリが溢れないよう、立ち上がるプロセス量を調整しました。 ↓この記事を参考にチューニングしました。 ・Apacheをデフォルト設定のままで使っていませんか? Apacheに割り当て可能なメモリ量を調べる 参考記事では「OS起動直後にfreeコマンドを打てばわかるよ」というような事を言っていましたが、現在サービス運用中で再起動はしたくないので以下の方法で割り当て量を出しました。 a,V

    apacheでメモリリークしないようにするチューニング - わーくあうと!
  • Node.js で重い処理をしてしまったときにタイムアウトするの法 - tokuhirom's blog

    (この記事は Node.js アドベントカレンダー不参加記事です) チャットサーバー的な使い方とか意外とみんな興味なくて、普通のウェブアプリケーションなどをかく、という用途にちょっと node.js がつかえたらいいのにな、とおもっている人がおおいようにかんじています。Node.js が人気なのは、v8 をうまくパッケージングしているのが node.js ぐらいで、そして v8 をうまくパッケージングするのが結構めんどくさいから、というところが大きいのです。ぶっちゃけ node.js が〜 とさわいでる人のうち8割は I/O multiplexing だからとかそういう理由で支持しているわけではなかったりするのです(偏見)。 さて、普通の web application のようなものを書こうとしたときに Node.js って基シングルスレッドだし、なんかうっかり重い処理したときにどうした

  • RedisにおけるRDBファイルのバックアップ | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 Redis におけるバックアップとリストアについて調べました。 データを永続化する方法については「Redisにおけるデータの永続化」で調べました。 RDB ファイルのバックアップ RDB ファイルでのバックアップ手順は以下のようになると思います。 BGSAVE コマンドを実行する(非同期での RDB ファイルの生成が開始される)。 RDB ファイルの生成が完了するまで待機する(完了したかどうかは、LASTSAVE コマンドの結果が変化したことや、RDB ファイルの i-node 番号が変化したことで判別可能です)。 (redis-check-dump で生成された RDB ファイルに問題が無いことを確認する。) RDB ファイルをコピーする(別サーバなど Redis が動作するサーバがクラッシュしても安全な場所に保管する)。 上記を一日一回など、定期的に実行します。

  • MySQLで処理に長時間かかっている複数クエリをまとめて殺す方法 | Basicinc Enjoy Hacking!

    あまりにも処理に時間がかかるようなSQLを実行してしまい、MySQLがうんともすんとも言わなくなってしまうような状況、よくありますよね。っていうか、まぁそんな状況あってはならないんですが、時たまあります。そんな時、問題となっているクエリの処理を止めたいわけです。 特定のクエリを止める方法 MySQLで実行中のクエリ一覧を見て、SQLを強制終了する方法 こちらを見てもらえればやり方は分かります。単純にMySQLに入って、show processlist;で問題のあるクエリを発見し、プロセスIDを kill するだけ。とても簡単。 複数のクエリを一括で止める方法 今回は問題のあるクエリが100個あったらどうする…?的なのを解決するエントリーです。まぁ、問題あるクエリ100個ある状況は、アプリ的に問題あるんじゃね?っていうレベルですが。 1個ずつプロセスIDをコピペして…なんてやってられないです

    MySQLで処理に長時間かかっている複数クエリをまとめて殺す方法 | Basicinc Enjoy Hacking!
  • LINE DBシステムの高可用性【LINE Developer Conference@インフラ回レポート】 - もぐめぽろぐ

    LINE Developer Conference@インフラ回に参加してきたのでその時のレポートを3回に分けて報告致します。 第2回はDBの高可用性についてのお話。 Session2. LINE DBシステムの高可用性について 今回は以下のお話をお伺いしました。 LINEサービスの特徴 自動FAILOVER 無停止Shard追加 LINEサービスの特徴 2014/4/2に世界中で4億ユーザを突破しました。 ユーザ数の大きなところの内訳は以下 Japan 50million Taiwan 17million Thailand 24million Indonesia 20million Indo 18million 使っているDBMSとしては以下の様な内訳 Cubrid :5% MySQL 73% Oracle 1% SQL Server 17% 使っている主な言語は Java PHP C C

    LINE DBシステムの高可用性【LINE Developer Conference@インフラ回レポート】 - もぐめぽろぐ
  • WordPressをStaticPress+Amazon S3+Vagrantでセキュリティ万全にする方法 [前編] - @masuidrive blog

    最近、大規模なWordPressのサイトの乗っ取りが発生しました。今回の原因はWordPressではなくサーバの設定に問題があったようですが、LAMPサーバの設定を正しく行うのは難しいですし、ApacheやPHPWordPressのバージョンアップをきちんと行っていくのは、結構大変です。 自分でサーバを運用していて、セキュリティ対策をきちんとしていると言える人は、実はあまり多くないのでは無いでしょうか?プラグインなどを複数導入している場合には、それらのプラグインのセキュリティ対策を行うのはかなり難しいといえます。 そんな中、高セキュリティ環境でWordPressを運用する方法はないのか考えてみました。それにはサーバ上でアプリを動かさないのが一番では無いでしょうか? 私のブログであれば、Voteなど動的な機能は使っていないので、WordPressのデータから静的なHTMLを生成して、Ama

    WordPressをStaticPress+Amazon S3+Vagrantでセキュリティ万全にする方法 [前編] - @masuidrive blog
  • LINEサービスのシステム運営【LINE Developer Conference@インフラ回レポート】 - もぐめぽろぐ

    LINE Developer Conference@インフラ回に参加してきたのでその時のレポートを3回に分けて報告致します。 第1回はシステム運営についてのお話。 Session1. LINEサービスのシステム運営 LINE SYSTEM OPERATION LINEはこの2年間でUser/Messagesは増加し、Server台数も増え、サービスも増えました。 しかし、メンバーは増えていません。 でもなんとか処理しきれています。 なぜまわるのか? それはPlug and Installのコンセプトのもと以下のものがあるおかげ。 ALIS (Auto Linux Install System) by kickstart WDS (Windows Distribution System) どちらもLINEお手製のシステムで、LAN Cableをつないで電源を投入するだけでサーバの構築が行える

    LINEサービスのシステム運営【LINE Developer Conference@インフラ回レポート】 - もぐめぽろぐ
  • btm’s gists

  • Chefを読んで実行するための全知識 - Qiita

    このドキュメントでは、Chefを実行して、インフラを作成したい人が、既存のレシピがあるのを前提に、Chefの概要を理解するためのドキュメントです。Chef-soloの構成のみに対応した記述になっています。理解が間違えているところとかあればご指摘ください。 1. Chefの概要 1.1. Chefとは シェフは、インフラストラクチャーをコードに変換するための自動化プラットフォームです。仮想環境でも、物理環境でも、クラウドでも使う事ができます。インフラストラクチャを自動化することで、プロダクトのマーケット投入を早めたり、スケールや複雑さに対応したり、システムを安全に保ちます。 1.2. Chefの仕組み Chefはサーバーをセットアップして、希望の状態にするための「クックブック」「ノードオブジェクト」というDSL(設定ファイルっぽいもの)をローカルのワークステーションで作成します。それらのDS

    Chefを読んで実行するための全知識 - Qiita