IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
今まで下記のようにexecで標準出力と標準エラー出力を作業ログに残すという事をしてたんですが、実際に打ったコマンドは出力されないので、ちょっと不便だなーと思ってました。 exec > >(tee --append /tmp/$(date +"%Y.%m.%d")_$(id --user).work.log) 2>&1 ちょっと調べて見るとscriptコマンドを使うとコマンドを含めて出力できることを知りました。 これで作業ログを残すのがはかどる! script --append --flush /tmp/$(date +"%Y.%m.%d")_$(id --user).work.log チームメンバーにこのログをtailさせておけば、画面共有も出来たりもします。 (その用途ならホントはwemuxとか使った方が良いんでしょうけどね。。 tail -F /tmp/$(date +"%Y.%m.%
ギーク野郎 ギーク野郎とは開発用Terminalを常に立ち上げてプログラミング言語をいじっている人の事をここでは意味します。ギーク野郎はモニターを複数台所有し、それぞれがTerminal用、ネットサーフィン用、ニコニコ動画専用というような使い分けをしています。しかしそれぞれのモニターへの視線とマウス移動はフラストレーションを溜める1要因になります。それを回避するために本当のギーク野郎は1台モニタのTerminalだけで作業します。すみません、左の発言は適当です笑。この記事ではTerminalだけで作業を完結したい人を対象とし、GUIを使わずにCUIだけでの作業環境構築を目指し、それに役立ちそうなアイテムについて紹介します。 tmux tmux プロセス管理の初歩テクニック - Yuta.Kikuchiの日記 tmuxを使ってWorking Spaceを効率的に使う事を強く薦めます。個人的に
半年くらい下書きフォルダーにあったGitLabのインストール記事をサルベージしました。今回は、Amazon Linux AMIと最新のGitLab 4.1系でインストールしています。が、あまりに長く面倒くさいので、三行でまとめてみました。 GitLabはGitHubのクローンで、セキュリティー・ポリシー的にGitHubがNGな会社に最適 GitLabの中身は、Git + GitoliteをラッパーしたWebインターフェース インストールが死ぬほど面倒くさいので、後でAWSのPublic AMIとして公開するよしたよ →GitLabのPublic AMIを公開しました。 以下、手順です。気が長い人は読んでください。 ライブラリのインストール 素のAmazon Linux AMIを立ち上げたら、まずライブラリをインストールしましょう。一部sudoでやっていくと詰まるところがあったので、素直にr
今日会社の開発サーバでhitode君と遊んでて、動いているプロセスを調べていたのでメモ。 動いているプロセスを知りたい 基本的。 ps ax ps auxとかすると、メモリ使用量とかいろいろ見れる。 動いているプロセスの関係も含めて知りたい pstreeコマンドでできる。とりあえずどんな感じに実行されているかサマリーを知りたい時は以下のコマンド。 pstree いろいろ折りたたまれているので、それを展開したい時は-cをつける。 pstree -c コマンドの引数とかも表示したい時は-aつける pstree -ac pidを知りたい時は-pつける pstree -acp 表示してみると{}で囲まれているやつがあるけど、これは多分threadなんだろうと思う。linuxではthreadのidはpidのように管理されているみたい。 メモリやCPUを消費しているプロセスを知る topとかでいろいろ
当サイトは、UNIX/Linuxにてよく使用されるコマンド/ツールの使用例や言語の入門やコード事例を掲載しております。 深い理解は求めずに、手っ取り早く使えるように、使用例(サンプル)を中心にしています。 情報の正確さには注意を払っておりますが、誤りや適切でない記述を掲載してしまうかもしれません。 当サイトの情報をご利用いただく際は、どうか、ご自身で十分検証を行ってください。 なお、当サイトのをご利用になられて発生した損害については、当方は一切責任を負いかねますので、あらかじめご了承願います。 また、掲載内容についてのご質問はご遠慮願います。
BLOG ハードウェア 弊社のシステム基盤がオールSSDになりました! 2017.06.23 maeno インフラメンバーの前野です。お久しぶりです。 つい先々週のお話になりますが、弊社のシステム基盤がオールSSDになりました。 と言っても私は構築・リプレースに一切関わっていませんが(笑) オールSSDになった弊社のシステム ところでここに挙げたNFSスト... ウェブサービス ECサイトで成功するために必要不可欠な接客ツールを徹底比較!! 2017.04.04 maeno ECサイトで重要なことといえば何を思い浮かべますか? ある人は集客といい、ある人は価格といい、ある人は接客といい、ある人は常に在庫がある事というかもしれません。 どれもが重要ですが、まず大前提としてECサイトは実店舗よりも優れていなければいけません。 物を手に取ることが... Wixはデザイン最高!スピード最悪 201
CentOS 5/6 系で、/etc/yum.repos.d/ の yum リポジトリの設定をみてみると、$releasever や $basearch という変数名が使われていて、リリースバージョンにあうようになっていて便利ですよね。ですが、$releasever は、CentOS 6.3 なら 6 としか入らないので、多少不便です。毎回、バージョンアップすることに /etc/yum.repos.d/ の設定を固定値で書き換えても当然いいのですが、めんどくさいということで、Yum の変数をカスタマイズする方法を調べてみました。 まず、定義されている Yum の変数をチェックするには、次のワンライナーで確認することができます。 $ sudo python -c 'import yum, pprint; yb = yum.YumBase(); pprint.pprint(yb.conf.yu
タイトルは釣りぽよ〜 今日ここで書くのはわりかし最近知ったことだったりするのが多いんですが、せっかくなので書いておこうかなぁと思った次第です。Linuxって書いてるけど、普通にMacでも使えるハズです。 知ってる人にとってはアタリマエのことですけどね……。 ファイルサイズの桁でかすぎてがわからん ls とか duあたりで使える話ですね。 ファイルサイズが大きすぎてパッと見わからないよっていうことってあるじゃないですか。ありますよね。いやある。 そんな時は -h オプションを使いましょう。 $ ls -l /var/log/nginx/access.log -rw-r--r-- 1 root root 1897381 8月 26 02:50 2012 /var/log/nginx/access.log $ ls -lh /var/log/nginx/access.log -rw-r--r--
あの頃は青かった。教えるどころか無知をさらけ出すというのはこの事だった。死ぬほど恥ずかしいので消したかったけれど、この記事が一番アクセスがあって長い間いくらか読まれていたらしい。ためらった。ただ、かつての自分といくらかの人に参考になればうれしいけれど、そろそろ役目を終えたと信じたい。もし書きなおすのなら、もう少し違う言い方か伝え方にすると思う。 内容としては 当時の自分のスペック Pythonの言語で、当時の自分が知った方法(3項演算子とか) mercurial の基礎(init, commit, push, update, log) WAF(Django)の知識 URL(ディスパッチャ)をトリガーにして Viewで処理をかく ModelにDBの内容がある ORMでリレーションを簡単に記述できる テンプレートでViewで処理した内容を表示させる チラ裏に移動させた。
2. もくじ ► おさらい ► クライアント(ssh/scp)の話 ポート転送の話 多段ssh その他の転送の話・他のオプション ► サーバ(sshd)の話 ► ちょっとした疑問 ► セキュリティの話 ► まとめ 2 / 62 5. RFC RFC 4250 The Secure Shell (SSH) Protocol Assigned Numbers RFC 4251 The Secure Shell (SSH) Protocol Architecture RFC 4252 The Secure Shell (SSH) Authentication Protocol RFC 4253 The Secure Shell (SSH) Transport Layer Protocol RFC 4254 The Secure Shell (SSH) Connection Protocol RF
いつも思いだすのに時間がかかるというか、ググるのでメモ。 例えば、ベンチマークとかをとっていて、残ったキャッシュを奇麗さっぱりに消したい時とかに使う。 Linuxのメモリで保持しているキャッシュをクリアするには、以下を実行する。 # sync # echo 3 > /proc/sys/vm/drop_caches 値の意味としては、、、 1: ページキャッシュを解放 2: dentry、inode を解放 3: ページキャッシュ、dentry、inode を解放 以下を参考に。 /proc/sys/vm/drop_caches (Linux 2.6.16 以降) このファイルに書き込みを行うことで、クリーンなキャッシュ、dentry、 inode をメモリ上から外し、そのメモリを解放する。 ページキャッシュを解放するには、 echo 1 > /proc/sys/vm/drop_caches
findコマンドってすごく便利でxargsとかexecと合わせると色々できちゃうんですが、その分リスクも背負うので、リスクヘッジしておきましょうというお話し。 あるディレクトリ配下にこんなファイルがあったとします(適当でごめんなさい)。 # lla drwxr-xr-x 6 root wheel 204 3 21 2011 ./ drwxr-xr-x 51 root wheel 1734 5 23 01:07 ../ drwx------ 4 root wheel 136 8 12 2010 cores/ -rw-r--r-- 1 root wheel 4912297 10 16 2011 log.nmbd -rw-r--r-- 1 root wheel 5123798 3 21 2011 log.nmbd.old -rw-r--r-- 1 root wheel 198900 10 16
こんにちは、牧野です。久々の、9か月以上ぶりのブログです。。 仕事では、ここ1年近くずっっとインフラ関係のことをやっていました。 今日は、SSHに関するTIPSを紹介します。 1. 特定のサーバーにSSHログインする時に、特定の設定を使用する ホームディレクトリ/.ssh/configファイルに設定を書いておくと、特定のサーバーにログインする時に、自動的に特定の設定を使うようにできます。 SSHのオプションをサーバーによって分けたい時に入力が楽になります。 以下は、xxx.yyy.zzz.aaaでアクセスする時に使う秘密鍵をid_rsa_testに設定しています。 .ssh/config Host xxx.yyy.zzz.aaa IdentityFile /home/asial/.ssh/id_rsa_test 2. ホストキーをチェックしないようにする LinuxからサーバーにSSH接続
$ gcc -c detail.cpp $ gcc -o test test.cpp detail.o のMakefileを作る 最初だけ詳しく説明を載せます。とは言っても私はMakeの専門家ではなく専門的な問題は他の書かgmakeのソースファイルを当たってください。 それでは始めます。makeは最初の依存関係だけを見ます。最初の例では all: test.cpp detail.o の部分です。allに対してtest.cpp detail.oとが依存しているとMakeは理解します。それで、今度はtest.cppを探しますが見当たりません。その次はdetail.oを探します。detail.oはdetail.cppに依存していてdetail.oを作るために $(CXX) -c detail.cpp を実行します。そして、最終的に $(CXX) test.cpp detail.
エンジニアという職業柄かシェルスクリプトを書くことはちょくちょくあるのですが、自分なりに気を付けていることを備忘録&自分への戒めも含めて、簡単に書いてみたいと思います。 変数は大文字 シェルスクリプト書いていれば変数の出番は至るところであるでしょう。その際、可読性を増すように、変数は大文字を使っています。 RET=`cmd1`みたいに。好みの問題もあるでしょうが、分かりやすいので。 クオテーションは選ぶ クオテーションにはシングルだったり、ダブルだったり色々ありますが、使い分けておいたほうがよいでしょう。 変数の展開がないようであれば、シングルクオーテーションのほうがスマートでしょうし、展開があるのならダブルクオーテーションを使えばと。 ダブルクオーテーションを使うのにも意味があって、変数は「$RET」のようにクオテーションで囲まなくても動作はたいていするのですが、 echo "${RET
Linuxの開発/検証環境とかで色々とプロダクトをインストールした時って、毎度環境変数のPATHを設定するの面倒くさいですよね。 そんな時は、片っ端からbinとかsbinディレクトリにパスを通しちゃいます(^^;) $ export PATH=$PATH:`find /usr/local -type d -name '*bin' | paste -s -d : -` findで引いてきたものをpasteする時に、"-d"オプションで区切り文字に":"を使っておけば良いわけですね。 ちょっとしたTIPSでした。 =͟͟͞͞(๑•̀=͟͟͞͞(๑•̀д•́=͟͟͞͞(๑•̀д•́๑)=͟͟͞͞(๑•̀д•́
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く