WindowsやMacOSデスクトップでいう「ゴミ箱」をLinuxのコマンドライン上で作りたい場合、「rm」コマンドをエイリアスで置き換えるよう設定すれば、手軽に実現ができる。 次のようなスクリプトを用意し、.bashrcにエイリアスを定義しておこう。 $ vi ~/bin/rm.sh #!/bin/sh trash=$HOME/trash if [ ! -d $trash ] then mkdir -p $trash fi for i do mv $i $trash done 次に、ゴミ箱ディレクトリの作成、そしてスクリプトファイル(rm.sh)に実行権限を設定する。設定後にファイルを削除した場合には、「ls -l ~/trash」などと指定してゴミ箱内を参照すればよい。
新人の頃、ファイルの中身を確認するためにcatコマンドを使ったら怒られました。当時はlessやviewなんてコマンドがあるのも知りませんでしたし、周りもcatで中身を見ていたのでそれが当たり前だと思っていました。 まぁ、でもそれもそのはず、catはcatenateの略で連結するという意味があります。というわけで、多分普段よく使っているであろう17コマンド(+2オプション)の意味を調べてみました。 2014/11/18追記 cd, pwdの追記を行い19コマンドになりました。また、@Fool_Yahooman が他の17コマンドの解説をコメントしてくださっているのでこちらも是非。 command complete expression meaning
今回はlinuxのコマンドでcpuボトルネックとなった場合の調べ方を試してみます。 /proc/〜で、cpuやメモリの情報を調べる cpuやメモリの情報は、/proc/〜で見ることができます。 [endo@colinux ~]$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 13 model name : Intel(R) Pentium(R) M processor 1.20GHz stepping : 8 cpu MHz : 0.000 cache size : 2048 KB <略>[endo@colinux ~]$ cat /proc/meminfo MemTotal: 256208 kB MemFree: 156416 kB Buffers: 5756 kB Cach
sar(sysstat)とは LoadAverageやCPU使用率、ディスクI/Oの状態を表示できるコマンド。 何より便利なのは、過去にさかのぼれる点。 sarのインストール
目的 自宅サーバのハードがとてもとても古くなってきたので、新しいPCへ移行させます。そのときの作業のメモです。 個々の作業の一部については別記事にします。 環境やデータは基本的にそのまま、OSは CentOS 5.3 から CentOS 5.5 へマイナーバージョンアップします。HDDはSATAが2台で、LinuxのソフトウェアRAID機能を使ってRAID1(ミラーリング)を組みます。 手順概略 自分の環境では、Webのデータもメールのデータも全部/homeに入れる構成にしてたので、/homeの移行がメインになります。 CentOS 5.5 のインストールDVDを作成する(id:hachiilcane:20110224:1298559508) 新しいPCにCentOS 5.5をインストールする インストールの最初のほうに出てくるGUIを使ってソフトウェアRAIDの設定をする インストールす
不慣れな環境を不意にいじった時にあるあるネタ。 とりあえずー とか言って勢いで書いたsetupスクリプトを実行してみたら意外と時間かかって、 ちょっと目を離した隙にsshの接続が切れちゃいました! 。。。ありますよね。ほんとよくありますよね。 そうなる予感はあったんだ なんて後の祭りです。ふとした油断から、screenもnohupすらも使わずにやってしまって、こんなことに。 shellがHUPしなかったからプロセスは生きてるものの、ログが見れないから進行状況がわからない。 うまく行ってるのかどうかモヤモヤした気持ちのまま、プロセスが終わるのをじっと待つ。。。 まぁ実に切ないです。 こんな時、いつも思うこと。 このプロセスの出力、もっかいstdoutに繋げられたらいいのに。。。 はい。というわけでつなげましょう。 長い前座ですみません。 切り離したプロセスを用意 #!/bin/bash wh
一体、Webサイトを持たない組織は今どれくらいあるでしょうか。 Webサーバを自前で持つ、ホスティングサービスを利用する、など運用形態はさまざまですが、Webサイトを持たない組織はほとんどないと思える程に Webは普及しています。 ファイアウォールはほとんどの組織で導入済みであり、多くのWebサーバはファイアウォールの中で運用されているのが一般的です。 しかしながら、最も普及しているファイアウォールはIPアドレス、ポートレベルでのフィルタリングです。この方法でのフィルタリングでは、許可していないサービスが持つ脆弱性を狙った攻撃を阻止できるため有用ではありますが、HTTPを許可している場合Web自体への攻撃に対して無力です。一方で、HTTPを不許可にした場合にはWebサイトへアクセスできなくなってしまうため本来の目的を達成できません。しかもここ数年、Webサイトを狙ったワームや不正アクセスは
私はシェルスクリプトの大ファンで、他人のスクリプトから面白い方法を学ぶのが大好きだ。最近、SSHサーバの2要素認証を簡単にするためのauthy-sshスクリプトに出会った。このスクリプト群を見まわしていて、みんなと共有したいたくさんのクールなことを見つけた。 出力に色付けする 出力文字列を、成功した時は緑に、失敗した時は赤に、警告は黄色に色づけしたいと思うことはたくさんあるだろう。 NORMAL=$(tput sgr0) GREEN=$(tput setaf 2; tput bold) YELLOW=$(tput setaf 3) RED=$(tput setaf 1) function red() { echo -e "$RED$*$NORMAL" } function green() { echo -e "$GREEN$*$NORMAL" } function yellow() { e
斎藤です。こんにちは。 今日は、デーモンの起動・終了に際してはserviceコマンドを使った方がいいよ、というお話です。 ※CentOS 6.4 (x86_64) でテストしています。尚、特記がある所を除きます。 デーモンの起動・終了には大きく2手 Linux、特にRedHat, CentOS, Fedora, Ubuntu[1]などでは、デーモンの起動・終了の制御の際に、大きく分けて次の2つの方法を用いる事ができます。 "/etc/init.d/"配下のスクリプト(以下、スクリプト)を直接実行する "service"コマンドを実行する 一見、同じ事をやっているように思えるのですが、実は違う部分があります。それは、起動スクリプトが扱う環境変数が違うのです。次の節で、検証してみます。 扱う環境変数が違う スクリプトを直接実行する場合は、実行時の際の環境変数をそのまま利用します。一方、serv
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
sar で収集したリソース使用情報が sadf コマンドで TSV として出力 (2014/8/6追記) sar で収集したリソース使用情報が sadf コマンドで TSV として出力できる - 宮川拓の日記 ↑全く知りませんでした 私がよく利用するoption (2013/8/6追記. よく忘れるので) $ sar -r -s 00:00:00 -e 01:00:00 -f /var/log/sa/sa03 オプション 内容 例 -q load average $ sar -q -u cpu使用率 $ sar -u -b I/O回数とデータ量 $ sar -b -r メモリとスワップ使用率 $ sar -r -s 開始時間 $ sar -s 00:00:00 -e 終了時間 $ sar -e 03:00:00 -f 日付 ※ $ sar -f /var/log/sa/sa03 ※「
なんかtwitterで書いたらウケたっぽいので cronをつかって外部のAPIに問い合わせる場合は、毎時0分をさけるのオススメ!!!!お兄さんとの約束だ!!! — masahiro nagano (@kazeburo) August 9, 2012 某サービスのAPIへの問い合わせ件数を調べると、毎時 0分台(0秒から59秒)のアクセスは1分から59分までの1分間の平均アクセス数の5倍から8倍にもなります。 これはおそらく、crontabの設定が 0 * * * * /path/to/call_foreign_api になっていることが多いからじゃないかなぁと思うのです。 その結果、サーバのロードアベレージは このように毎時0分だけ跳ね上がってしまいます。サービスを快適に提供できなくなる可能性があるので、APIの利用を制限したり、サーバを追加しなければなりません。これはサービス利用者、サー
shell script は普段さけて通りたいと願ってやまないわけですが、たまには書かないといけないことがあるので、そういうときは覚えておくと便利な tips を2つ。 autodie っぽくするset -eとすると、コマンドの実行に失敗したときにそこで実行がとまるので便利。 #!/bin/sh set -e perl -e 'die' echo SHOULD NOT REACH HEREとすると % ./hoge.sh Died at -e line 1. % echo $? 255となって、最後までいかずに死にます。 複数のコマンドを順番に実行するときに便利。 なお、以下のような挙動をするんだそうです。 ただし失敗したコマンドが until または while ループの一部である、 if 文の一部である、 && または || リストの一部である、 コマンドの返り値が ! で反転されてい
今、お風呂からあがって、TwitterのTLを見てたら「crontab -e は「絶対に」使ってはいけない - ろば電子が詰まつてゐる」のエントリを読んで、その勢いで書く。 crontabコマンドにはrオプション(Remove)があり、これを実行すると何の警告もなく全てが消え失せる。 crontab -e は「絶対に」使ってはいけない - ろば電子が詰まつてゐる 確かに、(僕も含めて) 誰もが一度くらいは怖い/ドキドキするような思いをするのかもしれないですが、crontabコマンドには"-i"オプションという、削除時に確認のプロンプトを出してくれるオプションが存在します。 つまり、aliasでこのオプションをつけておけば良いわけですな。 $ crontab -e crontab: installing new crontab $ crontab -r $ crontab -l no cro
■はじめに cron とは、ジョブ(スクリプト)を自動実行するためのデーモンプロセスです。そして、Linux システムの管理を行なう場合、ログのローテートや、バックアップなど、定期的に自動実行したいジョブが数多くあります。特に、バックアップなどは、システムへの負荷が大きいため、通常は、ユーザからのアクセスが少ない、深夜や早朝に行なわれます。 このように、定期的に実行されるジョブは、crond というデーモンによって、自動的に行なうように管理することができます。そこで、今回は、cron の設定を行なうために必要なコマンドや、設定ファイルについて説明していきたいと思います。 ■設定手順 このページでは、以下の順番で cronの設定について説明します。 まず、Linuxシステム上で、cron を使用するために、サービスの起動で、サービスの状態を確認し、停止している場合には、サービスを起動します。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く