いつまで経っても終わらないから帰れない… 途中で終了してしまうと困るので、ログアウトしても終了しないように。 作業の流れ Ctrl+Zでコマンドの中断 bgでバックグラウンドに回す jobsでジョブの確認 disownでログアウトしても実行されるようにする 実際のコマンドだと
いつまで経っても終わらないから帰れない… 途中で終了してしまうと困るので、ログアウトしても終了しないように。 作業の流れ Ctrl+Zでコマンドの中断 bgでバックグラウンドに回す jobsでジョブの確認 disownでログアウトしても実行されるようにする 実際のコマンドだと
完全に このエントリ のネタパクりです。すいません。 何に使われてるかわかったもんじゃないマシンとか開発用サーバとかだと超巨大なバイナリとか置いてあるかもしれませんが、プロダクション用のサーバでそういうことは無いとしましょう。 その場合、原因はだいたい以下のどれかです。www/appとdbが別マシンに分かれてる場合は更に絞り込めますね。 wwwサーバやappサーバ ログ 圧縮してあるが保存世代数が多くて厳しいケース 圧縮し忘れてるケース 圧縮どころかローテーションすら忘れてて1ファイルどかんと存在するケース ローテーションがうまくいかなくて deleted ファイルなケース tmpデータなど(app) キャッシュサーバのディスクキャッシュ dbサーバ データ実体 (ib_data) バイナリログ ログの場合でも、ディスク上のどこにログが書かれてるかは色々なパターンがある可能性がありますね。
Linuxなどを利用する上で、「これはどうやったら実現できるのだろう」と思うことは数知れない。本連載では、ユーザーがひんぱんに遭遇するであろう問題と、その解決方法を解説する。上級者には新たな発見を、初心者には上級者への道の手引きとなるだろう。 ファイルやディレクトリをバックアップ/同期するためのツールは幾つも存在していますが、rsyncはとりわけ大きな人気を誇っているといってよいでしょう。変更分を検出して差分のみを転送することで、ネットワーク経由でも効率的にバックアップ/同期が行える点や、sshなどのリモートシェル経由での利用が可能な点など、機能の洗練度はさすがに登場から10年以上たっているだけのことはあります。バックアップやミラーリングなどの用途であれば、基本的にはコピー元とコピー先でわずかな違いしか発生しないはずで、ファイルの相違部分だけを転送するrsyncは効率的に機能します。 そん
今回は、前回紹介し切れなかったrcスクリプトについて解説する。rcスクリプトも、理屈を理解してしまえば容易に管理できる。管理方法のついでに、rcスクリプトの書き方もマスターしてしまおう。 前回のLinux起動の仕組みを理解しよう[init/inittab編]では、カーネルがinitプロセスを起動して、さまざまな処理を行うことを説明しました。今回は、各種サービスの起動を行うrcスクリプトについて見ていきましょう。 rcスクリプトの管理の仕組み rcスクリプトは、Windowsのautoexec.batに相当すると考えればいいでしょう。もちろん、rcスクリプトとautoexec.batでは異なる点があります。rcスクリプトは、対応する作業ごとに1つずつ、複数のファイルで構成されています。また、ランレベルごとに実行するrcスクリプトを変えることができます。 rcスクリプトの実体は、/etc/in
crontabの設定方法をすぐに忘れるのでメモ代わりにまとめています。 ※最初にまとめてからかなり時間が経過したので、内容の精査とその間に勉強した項目を追加しました。 crontabを設定する方法 crontabを設定する方法には2通りの方法があるので説明をしていきます。 crontab -e ※コマンドで設定 crontab ファイル ※ファイルを読み込んで設定 「crontab -e」コマンドで設定 「crontab -e」コマンドを実行するとcronを設定する画面が表示されます。 「e」では無く、横にある「r」を誤って指定してしまうと、設定されているcronの内容が削除されてしまうので注意してください。 $ crontab -e 設定を編集する画面が表示されるので、下記のような書式で設定を行います。 00 * * * * /root/disk-space.sh ちなみに、設定している
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 の後に並列
サーバの動作に異常が発生した際に原因を探るためのLinuxコマンドで、自分用のメモです。 全てmanとかググったら出てくるので説明は適当です。思いついたら後で追記していくかもです。 対象はDebian Squeezeになります。 全てパッケージインストールできるもので、パッケージ名は [in packagename] としてあります。 各所よりコメントありがとうございます。 良さ気なコマンドは追記していきます。 <追加したコマンド> * telnet (+コメント wget, netcat) * arp (+コメント arpwatch) * pstree * fdisk コメントに gdisk * host, dig * watch * reboot
更新履歴 2012-08-28: URL 公開 2012-08-29: futex、hrtimer、MySQL の発生条件、NTP SLEW モードに関する @odhrfm さんからの情報、キーワード更新、その他いろいろ細かい修正 2012-08-30: 参考リンク追加 2012-09-01: LKML まとめシートの thread#50 を追加 2012-09-03: SLES カーネルの更新情報、per-cpu についての記述、blockdiag によるブロック図を追加 2012-09-11: LKML まとめシートの thread#52, #53 を追加 2012-09-12: LKML まとめシートの thread#54 〜 #58 を追加 はじめに 日本時間 2012 年 7 月 1 日 9:00 にうるう秒が挿入されましたが、その際 Linux カーネルに起因する不具合により、
ファーストサーバの大規模障害の件は、データ復旧が不可能という発表があったそうだ。 大規模障害のファーストサーバ、「データ復旧は不可能」 大規模障害の概要と原因について(中間報告)(ファーストサーバサイト) 復旧レベルにもよると思うが、Linuxの場合、HDDから削除復旧をさせた時に、ファイル管理情報がすでに一致しない状態になると、仮にファイル実体が復旧しても、ファイル名、フォルダ名がわからなくなって、それがいったい何のファイルかわからない。共用サーバの場合は誰のファイルかわからないので、事業者側も、うかつに渡すことができない、など言ったケースにもなることもありうるので、基本的に復旧は無理だろうなと思っていた。 今回は、専用サーバでも、ユーザー企業側のアクセス権限がないユーザーにもファイルが見えてしまうという指摘を受けたそうだが、一度消してしまったファイルである以上、それはある意味仕方のない
いつも思いだすのに時間がかかるというか、ググるのでメモ。 例えば、ベンチマークとかをとっていて、残ったキャッシュを奇麗さっぱりに消したい時とかに使う。 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
Webサーバーへのファイル転送用にFTPサーバーを構築する。 ここでは、CentOS標準のFTPサーバーであるvsftpdを採用する。 なお、ユーザ名、パスワード、CGI等に書かれたパスワード情報等の盗聴による不正入手対策として、SSLによる暗号化通信を行えるようにする。 また、管理者ユーザ以外は自身のホームディレクトリより上層へはアクセスできないようにする。 [root@centos ~]# vi /etc/vsftpd/vsftpd.conf ← vsftpd設定ファイル編集 # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=NO ← anonymousユーザ(匿名ユーザ)のログイン禁止 # Activate logging of uplo
Windowsでは、OSを起動するとOracleも自動的に起動するようになっていますが、 Linux/UNIXではいくつかの設定が必要です。 自動起動ができない原因の多くは、設定のミスにあります。 自動起動の仕組みを理解する 正しく設定するためには、自動起動の仕組みを理解する必要があります。 自動起動に関連するファイルは次の4つです。 1から3がOracleに含まれていて、4はユーザーが作成します。 (ただしMIRACLE LINUXにはすでに付属しています。) 1. $ORACLE_HOME/bin/dbstart DB起動スクリプト 2. $ORACLE_HOME/bin/dbstop DB停止スクリプト 3. /etc/oratab インスタンスの定義ファイル 4. /etc/rc.d/init.d/dbora サービスのスクリプト1、/etc/oratabを編集する 「SID:$O
サーバーのリソースを見るにはグラフ化は重要ですが、推移ではなくリアルタイムな状況、例えば秒単位のスパイキーな負荷を見るには、サーバー上でvmstatやiostatなどの*statファミリーを叩く必要があります。 さて、vmstatはメモリの状況やブロック数単位のI/O状況は見られますが、バイト単位のI/O状況やネットワークの送信、受信バイト数を見ることはできません。 # vmstat 1 procs -----------memory---------- ---swap--- -----io----- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 3 1 0 4724956 355452 726532 0 0 54 484 3 3 1 0 99 0 0 2 0 0 47
エンジニアという職業柄かシェルスクリプトを書くことはちょくちょくあるのですが、自分なりに気を付けていることを備忘録&自分への戒めも含めて、簡単に書いてみたいと思います。 変数は大文字 シェルスクリプト書いていれば変数の出番は至るところであるでしょう。その際、可読性を増すように、変数は大文字を使っています。 RET=`cmd1`みたいに。好みの問題もあるでしょうが、分かりやすいので。 クオテーションは選ぶ クオテーションにはシングルだったり、ダブルだったり色々ありますが、使い分けておいたほうがよいでしょう。 変数の展開がないようであれば、シングルクオーテーションのほうがスマートでしょうし、展開があるのならダブルクオーテーションを使えばと。 ダブルクオーテーションを使うのにも意味があって、変数は「$RET」のようにクオテーションで囲まなくても動作はたいていするのですが、 echo "${RET
アシアルさんのブログに「独自/ミラー yum リポジトリを作ろう」というエントリが公開されました。 とても分かりやすく「独自/ミラー yum リポジトリ」を作る方法がまとまっている素晴らしいエントリです。 アシアルさんのブログでは、rsync や createrepo などを手動で使っていますが、これを cobbler というツールを使うともっと簡単に「独自/ミラー yum リポジトリ」を作成することができます。 まず、CentOS 5.x のミラーを作成する方法を紹介します。 EPEL を設定してから、cobbler をインストールします。 $ sudo yum install cobbler CentOS ミラーサイト一覧から、自分がいる国にいる近いサイトの rsync 可能なミラーサイトを選びます。ミラーサイトを選んだら、次のコマンドでミラーします。 $ sudo cobbler i
タイの洪水被害の影響でハードディスク(HDD)の価格が高止まりしている。パーツショップでの実売価格は急騰前の3倍程度にまで跳ね上がり、今でも2倍弱の価格をつけている。5000円台で2TバイトのHDDが買えた記憶が新しいユーザーにとっては買い控えたくなる水準だ。フラッシュメモリーによる半導体ストレージであるSSDの容量単価は下落する一方だが、HDDが買えないならSSDを使えばいいのに…と言えるほどSSDは安くない。 もちろん、データの増加は待ってくれない。記者の自宅には、主にファイルサーバーとして利用するLinuxサーバーがある。タイ大洪水以前に約7000円で購入した1Tバイトの2.5型ハードディスクをストレージに充てた。写真1枚が10Mバイト近くある今の利用環境では、みるみる空き容量が減っていく。どのコンテンツもときめくものばかりで、整理には限界がある。「では増設」と思い立っても、HDDは
サーバの台数が増えるたび、OSをいちいち手作業でインストールするのが面倒になってきたため、今回cobblerというものを入れてインストールの作業を楽々にしてみました。 Cobbler(http://www.cafechantant.com/trac/wiki/cobbler_top) 迅速にネットワークインストール環境を構築する為のLinuxのブートサーバです。シンプルな一連のコマンドを使って、PXE、再インストール、XENやKVMを使っての仮想化インストールなどのネットワークインストール環境を設定することが出来るサーバです。 巨大なデータセンターの運用、大学の研究所の運用、または単に家庭内ネットワークで手に余るほどのマシンがある、など、これらのどの場合でも、cobblerは迅速なインストールとアップデートの実行の役に立つことが出来ます。 つまり便利なんです!どれくらい便利かというと、サー
個人的にテキストファイルを処理することが多いのですが,簡単な処理ならUnixのコマンドをパイプとリダイレクトで組み合わせてできることが多くあります.今回はそんななかでもちょっとマニアックなTIPSをまとめてみました. sortコマンドでタブ区切りのファイルを指定する最近知って驚愕したのがこれ.sortコマンドでタブ区切りのファイルを指定したいときは,Ctrl+v Tabでタブ文字を入力していたのですが,$ sort -t $'\t' -k 2,2 のようにしてタブ区切りで2番目のキーでソートすることができます. 1000行おきにデータをサンプリングする1000行おきにファイルからデータをサンプリングしたいときとかは,perlでワンライナーを書くのが速いようです.$ perl -ne '$i++; print unless ($i % 1000)' 某所のコードゴルフによるとこれだけ短くでき
特定のポートをオープンしているプロセスを調べるには、lsofコマンドを使用する。 lsofは、rootで実行する必要がある。-iオプションでポート番号を指定すると、そのポートをオープンしているプロセスが表示される。 # lsof -i:22 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME sshd 2436 root 3u IPv6 4674 TCP *:ssh (LISTEN) sshd 3198 root 4u IPv6 6078 TCP 192.168.0.7:ssh->192.168.0.30:1930 (ESTABLISHED) sshd 3200 nori 4u IPv6 6078 TCP 192.168.0.7:ssh->192.1
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く