読者です 読者をやめる 読者になる 読者になる

masalibの日記

WEB系の開発や運用などを記載しています

パチンコ屋の芸能人やライターの出演料金について

その他

長い間勘違いしていたのですが
ライターや芸能人がくる時はお店側が力をいれるため
客はプラスになると思っていました
このブログを見て、
それがアホだったと思い知らされました

続きを読む

オーディオコメンタリーについて

アニメと漫画

私は、軽いヲタク(つもり)です
系列は漫画とアニメとゲームになります
そんな私ですが、ここ最近はアニメは
ニコニコ動画またテレビで見ています(無料なので・・・)
故に「オーディオコメンタリー」という
存在をしりませんでした

続きを読む

lsyncdをいれてみた

サーバー系

lsyncdというリアルタイムでの同期の
ソフトがあると聞いて
とあるプロジェクトにいれてみた

マスタ → スレブの構成です
双方にすると削除の時にリスクがあるみたいなので
やめました

1・インストール

標準だとリポジトリがないので追加する

rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install lsyncd --enablerepo=epel
yum install rsync

2・設定ファイル作成

フォルダをつくって、ファイルを作成する

mkdir /etc/lsyncd
vim /etc/lsyncd/lsyncd.conf

以下設定内容

settings {
    logfile = "/var/log/lsyncd/lsyncd.log",
    statusFile = "/var/log/lsyncd/lsyncd-status.log", -- 最新の処理結果が書かれる
    pidfile      = "/var/log/lsyncd/lsyncd.pid",
    maxProcesses = 2,                 -- 同時にsyncを走らせる数
    nodaemon     = false,             -- falseだとdaemonになる。デフォルトはtrue
    insist       = 1,                 -- 起動時に接続に失敗しても再接続を試み続ける
}
sync {
    default.rsync,
    source = "/var/www/Project_st/datas/",             -- 監視対象のディレクトリ。rsyncのSRCに相当
    target = "192.169.1.2:/var/www/Project_st/datas/", -- 同期先のホスト名+ディレクトリ。rsyncのDESTに相当
    exclude={"/logs/","cache"},       -- 監視対象外のディレクトリ(ソースからみたディレクトリを記載する。相対パスになる)
    rsync  = {
        archive   = true,
        links     = true,
        update    = true,
        verbose   = false,
        rsh       = "/usr/bin/ssh -p 22 -i /var/opt/192.169.1.2.sshkey.txt",    -- 接続時に使うsshコマンド。ポートや鍵のファイルはここで指定できる
        _extra  = {
            "--bwlimit=10000"
        }
    }
}
sync {
    default.rsync,
    source = "/var/www/Project_st/public/pf/",             -- 監視対象のディレクトリ。rsyncのSRCに相当
    target = "192.169.1.2:/var/www/Project_st/public/pf/", -- 同期先のホスト名+ディレクトリ。rsyncのDESTに相当
    rsync  = {
        archive   = true,
        links     = true,
        update    = true,
        verbose   = false,
        rsh       = "/usr/bin/ssh -p 22 -i /var/opt/192.169.1.2.sshkey.txt",    -- 接続時に使うsshコマンド。ポートや鍵のファイルはここで指定できる
        _extra  = {
            "--bwlimit=10000"
        }
    }
}
sync {
    default.rsync,
    source = "/var/www/Project/datas/",             -- 監視対象のディレクトリ。rsyncのSRCに相当
    target = "192.169.1.2:/var/www/Project/datas/", -- 同期先のホスト名+ディレクトリ。rsyncのDESTに相当
    exclude={"/logs/","cache"},       -- 監視対象外のディレクトリ(ソースからみたディレクトリを記載する。相対パスになる)
    rsync  = {
        archive   = true,
        links     = true,
        update    = true,
        verbose   = false,
        rsh       = "/usr/bin/ssh -p 22 -i /var/opt/192.169.1.2.sshkey.txt",    -- 接続時に使うsshコマンド。ポートや鍵のファイルはここで指定できる
        _extra  = {
            "--bwlimit=10000"
        }
    }
}
sync {
    default.rsync,
    source = "/var/www/Project/public/pf/",             -- 監視対象のディレクトリ。rsyncのSRCに相当
    target = "192.169.1.2:/var/www/Project/public/pf/", -- 同期先のホスト名+ディレクトリ。rsyncのDESTに相当
    rsync  = {
        archive   = true,
        links     = true,
        update    = true,
        verbose   = false,
        rsh       = "/usr/bin/ssh -p 22 -i /var/opt/192.169.1.2.sshkey.txt",    -- 接続時に使うsshコマンド。ポートや鍵のファイルはここで指定できる
        _extra  = {
            "--bwlimit=10000"
        }
    }
}
--      exclude="/subdir**",        ワイルドカードによる指定も可能
--      exclude="/*/",              サブディレクトリすべて
--      exclude={"*.log", "/*/"},   ファイル名にも指定可能
--除外指定を行なうと logs(ファイル) , /logs/ (ディレクトリ)が除外対象となる。
--つまり /test/logs/ はマッチするので除外対象となるが /logss/ は除外対象にはならない。

-- 同期したいフォルダが複数ある場合はsyncを作っていく

3・起動停止

#デーモンの起動

lsyncd -log scarce /etc/lsyncd/lsyncd.conf

#デーモンを停止する場合

kill -KILL $(cat /var/log/lsyncd/lsyncd.pid)

簡単にできた!!


実際に動かしてみると1秒から2秒ほど
若干タイムラグがあります


4・参考URL

インストールなどで参考にした
http://qiita.com/ftakao2007/items/41c5c0653892d1454c39

双方向同期について参考にしてやめた・・・
https://blog.cloudpack.jp/2015/03/03/use-running-as-delete-parameter-to-sync-bi-directionally-with-using-lsyncd/

sshdが立っていればrsyncdは必要がないっていう所でもっとも参考にした
http://ikm.hatenablog.jp/entry/2013/05/27/140336
excludesの部分に注意!!
excludeが正しいみたい

複数の設定で参考にした
http://www.shift-the-oracle.com/linux/utility/lsyncd-local.html

ロードバランスサービスなのに・・・

現在、アプリのAPIサーバーを構築しています
VPSサービスのロードバランスを使用して
分散処理を組みました

web.arena.ne.jp

VPSでもロードバランスできる時代になっただ~
と感激していたのですが

ポートが1つしか選べませんした

\(^o^)/オワタ

HTTPS+HTTPという項目があるのですが
こちらを選択すると証明書をロードバランス側に
いれないといけないようでした
つまりHTTPとHTTPSを共有してかつ
複数のドメインの場合は
このサービスは対応していないようです

テストと本番を同じドメインでやるには
プログラムのミスやセキュリティ的にやりたくないです

あう・・・マニュアルとか公開されていないし
やってみるまでわからないよ
3240円に文句は言っても仕方がないです

HTTPはロードバランスしないという方向で逃げました
今後はnginxのロードバランスで対応したいです

インターネットの会社なのに手書きしかない

あるプロジェクトでクラウド業者をつかう事にしたのですが
使うために申請するには、以下の手順が必要
(今使っているクラウドには影響したくないので別業者にするというよくわからない判断・・・・)

続きを読む

SQLインジェクション対応しないの?

ここ最近はゲームや
仕事に忙しくてブログの更新をさぼっていました
m(_ _)m

外注さんといっしょに仕事するようになって
一番ビックリしたのは

SQLインジェクション対応していない事

マジで・・・
フレームワークの関数が用意されているのにそれをつかわずに
独自でSQLを書いている・・・・

気がついたのは外注さんが作ったソースをもとに
似たような機能を作ろうとしたらビックリ

いやいやいや・・・・
フレームワークに従うべきだろう・・・
あとから入ったプロジェクトだけにいまさら戻れないけど

インフラエンジニアとしてSQLインジェクションをいれていないのは許せない!!
全プログラムをコードレビューしないといけないとか
マジ悲しい・・・

インフラエンジニアとして今後学びたい事

経緯

突然、上司が「インフラエンジニアとしてどんな事を学びたい?」と聞かれたので考えてみました
それにしてもいつからインフラエンジニアになったんだろう・・・
採用はHTMLのコーダーだっただけど・・・

注意事項
インフラエンジニアをガチでやっている人から見ると
参考にならない記事です。

続きを読む