Linux

syslogとか cronlogとか確認

OOM が出たときとかに syslog を確認 ログファイル名 内容 /var/log/messages 一般的なシステム関連のメッセージ /var/log/secure セキュリティに関するメッセージ /var/log/cron 定期的に実行される処理結果に関するメッセージ /var/log/maillog メールに関…

本番サーバと検証サーバを間違えないように

.bashprofile に以下の設定をすると、色付きになる export PS1="\[\033[31m\]\u@\h\[\033[00m\]:\[\033[01m\]\w\[\033[00m\]\\$ "

コマンド履歴をhistoryに残さない

history のコマンド履歴を消す。 echo 'a' echo 'b' echo 'c' set +o history echo 'd' set -o history history | tail -4 出力結果 685 echo 'b' 686 echo 'c' 687 set +o history 688 history | tail -4

glibcをcentosにインストールしようとして苦戦した。

以下を行ってからバグった。確かめよう。 export LD_LIBRARY_PATH=/opt/glibc-2.14/lib unix.stackexchange.com gist.github.com Index of /results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/ Index of /gnu/glibc

awkコマンドが$0が全てと知ったとき...

awkコマンドの基本

curl でファイルから --data-urlencodeを指定

通常の場合は、ファイルから値を指定するときは以下 ## http://example.com?name=[test.txtの中身] curl http://example.com --data-urlencode name@filename < test.txt 標準入力から入力するときは、以下を使う ## 標準入力での -(ハイフン) の使い方 $ …

CentOS6 に cassandra を yum install する方法

centos6だと、yum install datastax での install をする必要があった $ java -version java version "1.8.0_25" Java(TM) SE Runtime Environment (build 1.8.0_25-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode) # vi /etc/yum.re…

CurlのSFTPにて、サーバにアクセスするためには...

--insecure にするといける。 $ curl --insecure -u sftp_user:pass sftp://domain/directory1/

Linuxのリソース確認にgrafanaとか言うのが大変便利

blog.serverworks.co.jp

プロセス監視する時の /service 配下の設定とか

daemontoolsをインストールして、ごちょごちょ設定行う。 スティッキービットを立てるとか言うらしい。 $ chmod +t test_job keisyu.hateblo.jp daemontools howto 大きく分けると...らしい。 svscan サービスディレクトリの監視 supervise プロセスの監視お…

sudo -iを使用した場合

sudo -iで移ったユーザの環境変数まで読んでくれるらしい パスワード: [root@localhost ~]# sudo -u vagrant -i /home/vagrant/list.sh /var/tmp nabe-jw.hatenablog.com

AWSのタイムゾーン設定

Amazon Linuxのタイムゾーンの設定は、 timedatectlがなかったので以下で対応した。 勝手にMySQLのタイムゾーンも変更 $ sudo yum -y install ntp $ sudo ntpdate ntp.nict.jp $ su # service --status-all | grep ntp # vim /etc/ntp.conf ==(vim /etc/ntp.…

C++をLinux上でコンパイル

C++ をやってみようと思って一番最初に、 あれ、Linux でどうやるんやろと思ったので、メモ # コンパイル hello_worldを作成 $ g++ -o hello_world hello_world.cpp $ ./hello_world # myIncの関数を使う場合は以下のように続きのargsで指定 $ g++ -o hello_…

topコマンドで別々のCPUの稼働状況確認する

$ top # "1"をpush top - 16:11:38 up 4 days, 17:22, 2 users, load average: 1.00, 0.99, 0.78 Tasks: 177 total, 3 running, 174 sleeping, 0 stopped, 0 zombie %Cpu0 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu1 : 0.0 u…

sarで焦った時(メモリのリソース確認)

sarコマンドを使うとmemusedが100%近くなっていた。 よくよく調べると、バッファとキャッシュの分を引く必要がある。 $ sar -r -s 16:00:00 04:44:01 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 04:45:…

CentOS7のタイムゾーンの設定

CentOS7のタイムゾーンの設定がtimedatectlでできるらしい。 ## timezoneの設定を確認 timedatectl status date ## timezoneの設定を変更 timedatectl list-timezones | grep Tokyo timedatectl set-timezone Asia/Tokyo timedatectl status ## 変更内容を確…

yumで/usr/配下以外に指定する方法

yum installすると、/usr/配下にインストールされる。 yumのオプション名だけではわからないので、確認したら、以下の方法で行けるらしい。 # yum --installroot=/usr/local/ install -y some_package qiita.com

URLの変更コマンド

grep -l -r [url元] . | xargs perl -pi -e 's@[url元]@[url先]@g' qiita.com ファセットよい上位を抽出 curl "http://localhost:8983/solr/[core名]/select?facet.field=keyword&facet=on&q=*:*&rows=0&facet.limit=1000" | jq .facet_counts.facet_fields.…

シェルのコマンド例記録

参考になったコマンド ## a~gまで出力して、field numberが4以上だと、3連番する $ echo {a..g} | xargs -n 1 | awk 'NR>=4{print $1, $1, $1}NR<4{print $1, $1}' ## 80ポートのtcp udpの確認 $ grep '80/[tu][cd]p' /etc/services ## 出現文字列の種類を…

make testのエラーについて(memcachedのmake install前)

memcachedをインストールする前に、make testを行うとエラーがでた。 perlのモジュールがないかららしい。 $ sudo yum install -y perl-CPAN $ sudo cpan cpan> install Test::More cpan> quit $ make test http://forums.devshed.com/perl-programming-6/in…

サーバのシステムコールの順番

Pythonでソケットの勉強をしていたときの順番について socket → bind → listen → accept → recv/send → shutdown → close www.infra.jp

Bashの[ -e /home/... ]による確認

[ -e filepath ] Returns true if file exists. [ -x filepath ] Returns true if file exists and executable. [ -S filepath ] Returns true if file exists and its a socket file. [ expr1 -a expr2 ] Returns true if both the expression is true. [ e…

Gitでブランチ切って作業して、マージする。

git flowのルールにそって 作業しない場合に $ git branch * master # ブランチカット $ git checkout -b feature-create-api feature-create-api $ git add . $ git commit -am "commit message!" $ git push -u origin feature-create-api $ git checkout …

daemonでDjangoを動かす方法など

daemontools http://cr.yp.to/daemontools.html # インストール sudo yum -y install rpm-build wget http://mirrors.qmailtoaster.com/daemontools-toaster-0.76-1.3.6.src.rpm rpmbuild --rebuild daemontools-toaster-0.76-1.3.6.src.rpm sudo rpm -ivh ~…

PostgreSQLのCentOS7での立ち上げ方やコマンドなどの便利なサイト+自動インストール

DjangoではPostgreが推奨のDBMSらしいよ。 www.digitalocean.com qiita.com #!/bin/sh # -*- MAINTAINER -*- Lasha Gogua Lh4cKg@gmail.com # -*- RUN -*- $ bash install.sh # system update and install epel package yum update -y && yum upgrade -y wget…

PortForwordという言葉の意味

知らなかった。。。ポートフォーワードという内容はsshでポートを指定すると、 localhost:[port名]で確認できる。 開発サーバなどで、SSHに使う22番ポートは解放しているけど、HTTPに使う80番ポートは外部に解放していないという状況があります。 $ ssh -L 8…

ApacheのアクセスログからURLを作成する方法。

xargsの使い方を学ぶ cut -d " " -f 7 access_log |xargs -I{} echo "http://[ドメイン名]{}" | grep -v "http://[ドメイン名]{}" | head -10000 > accesslog.txt qiita.com

tarのコマンドについて

tarの -vはverboseの略で、展開したファイル一覧を表示したりする。 qiita.com qiita.com

yumとrpmと違い

MeCabがインストールするときにrpmを使った。 よくわかんない。 $ tar jxvf juman-7.01.tar.bz2 $ cd juman-7.01/ $ ./configure --prefix=/usr/local $ make # make install nzigen.com hayashikun.hatenablog.com blog.inouetakuya.info qiita.com qiita.c…

AWS(Red Hat)にpython3.6をインストールしてpipやvirtualenvを作成する方法。

python3.6をインストール。 ##いるものをインストール。 $ sudo yum install yum-utils make wget $ sudo yum install zlib-devel -y $ sudo yum install gcc libffi-devel python-devel openssl-devel $ cd ~ ## wgetよりpython3.6をゲット $ wget https://…