ansibleのシンタックスチェック、デバッグとか|開発効率上げる
修正したらまずはこれ|シンタックスチェック
ansible-playbook -i
実行前にタスクに抜け漏れがないか確認
ansible-playbook -i
ミスが許されない場面に使いたいdry run
ansible-playbook -i
diffを使って、変更内容まで確認しよう!
わかるとは思うけど、hostsにはインベントリファイルでplaybook.ymlには実行するプレイブックです。
ansibleでscpする|逆にリモートファイルをコピーする
ansibleでstructure as codeのために開発に着手しだしたのでメモ
まず、公式サイトをメモっておく
http://docs.ansible.com/ansible/
リモートサーバのファイルをリモートにコピーする
ポイントは remote_src=True
これにしとくとsrc=のパスでリモートサーバを探しに行く
defaultはFalseだから、これやらないとlocalのパスを検索にいくよ
yaml形式なのでスペースに注意
- hosts: test become: yes become_method: sudo vars: user_name: vagrant src_file: /home/vagrant/tmp.csv tasks: - user: name={{ user_name }} - name: copy httpd file copy: src={{ src_file }} remote_src=True dest=/home/{{ user_name }}/tmp2.csv
逆にSCPにしたいならremote_srcをなくせばいいわけです
ansibleってモジュール覚えきれねー
shellモジュールでゴリ押ししたくなるよね、、、、
webDAVにcurlからファイルDLとかアップロード(書き込み)する方法
いまどきDAVなんて使うかよ...
と思いますが、連携相手がそれしかできないっていうならしょうがない
ファイルをゲットする方法
curl --user [user_name]:[pass] -k --proxy http://10.40.xxx.xxx:3128 -O https://100.xxx.xxx.xxx/regist/path/up.file.txt
ファイルを作ってから、それを指定してアップロードする。
一旦ファイルを作んないといけない
curl --user [user_name]:[pass] -k --proxy http://10.40.141.49:3128 -T up.fie.txt -O https://100.xx.xx.xx/path/up.file.txt
忘れがちなnmapの使い方メモ
たまーにしか使わないので、nmapを忘れる。
いちいちググるのが面倒なので役立つブログをリスト化しておく
まぁ -sT -POあたりを知ってれば良いといえば良いけど。
このブログを読んだ人はnmapをアタックに使っちゃダメよ
ホワイトハッカーであれ。
基本のコマンド集。
itpro.nikkeibp.co.jp
変化球の使い方[悪用厳禁]
orebibou.com
↑な内容ネットに載せていいのか?
このブロガーの人は攻めてるな、個人的には好きだけど。
プロキシサーバの設定(squid)
とあるデータセンターに申請するIPアドレスを1本にしないといけなくなった。
複数台あるサーバからアクセスする必要があるんだけど、そこはプロキシを経由させて解決しよう!
っていうアルアルな手段
でも初めてプロキシサーバの構築ってやるから記念にメモ
使ったのはsquid
今回はコンテンツのキャッシュとかしないけど、ネット上にドキュメントが多いから採用。
nginxとかでもできるらしい。
環境
linux centOS7.x
手順
1.yumでインストール
2. squid.confを書き換え
3.初期化
4. squidを起動
5. firewallに穴あける
まずはインストールする
yum install squid
次はconfの設定
vi /etc/squid/squid.conf
ローカルネットワークからだけのアクセスなのか、外部アクセスなのかによっても設定は変わる
外部からアクセスするなら、設定の追記が必要だよ
ex) 以下squid.confの中身
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl hld src xxx.xxx.xxx.xxx <= ここに通したい外部アクセス元のIPを入れる
~省略
#許可を追加する。ほかのhttp_accessよりも前のほうに書いておくと確実かも。
http_access allow hld
#listenポートの指定。squidのデフォは下記らしい
http_port 3128
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
これはテスト用に外部からのアクセス許可しているけど、本当は踏み台にされて危ないのでやめようね。
やるならちゃんと設定しようね。
squidを初期化(何をしているのかはよく分かってない。。。)
squid -z
squidを起動
systemctl start squid
centOS7だと、起動失敗してもエラー出ません!
プロセスみて確認しよう
ps aux | grep squid
デーモンがいればOK
あとはfirewallなんだけど、今回はフュージョンクラウドを使うことになったので、ファイヤーウォールグループというやつを設定。
3128に穴を開ける
この辺はawsと同じ!
これでまたスキル幅がひとつ広がったよ。
linuxにswapファイル作成方法と、swaponの自動起動を安全にやる方法
最近、フュージョンクラウドを使い始めたんだけど
一番低スペックなmicroだとなんとswap領域がありません!
ちなみにメモリは〜500MB(〜ってなに?と思う)
これはなんだ?もっと高スペックを使えというフュージョン側のしわざだな
スペックなんてあげない。俺は低価格のままでいくの。
centOS 6.7
サーバ起動時に自動でswaponする方法
これだとサーバ起動時に手動で
# swapon /swapfile
をしないといけません。
サーバ起動と同時にswaponするためには、本来ならfdiskに書き込む必要があります。
しかしfdiskは記述を失敗するとサーバが2度と立ち上がらなくなる恐怖のやつ。
だから、今回はfdiskを使わずして設定する方法です。
今回の見えている事として、mysqlを立ち上げる前にswaponができれば問題ない事までは判明していました。
だから、mysqlの自動起動をoffにして
chkconfig mysqld off
起動時の自動スクリプトから起動させる。
vi /etc/rc.d/rc.local
swapon /swapfile
/etc/init.d/mysqld start
これでOK。
fdiskをやる必要なく設定できました。
/etc/init.d/mysqldのstart直前に書けばいいじゃん!とか思っている人あまいですぜ
どうやらchkconfigの自動起動のときにはmysqldを叩いてないから(たぶんmysqld_safeを直接実行してる?)これだとダメ。
まぁもしかしたら/usr/bin/mysqld_safeに書けばいいのかもしれないけどね。
自動起動が何をしているのか分かんないし、調べるのは時間かかるからrc.localに書いた方が早いじゃんと思った感じです。
このへん、詳しい方でしたらコメントとかで教えてもらえるとめちゃ嬉しいですー