Okuya のアーカイブ

bashの配列のempty check

2016年4月20日

empty関数はないっぽいので、以下のように ``` if [ ${#arr[@]} -eq 0 ]; then echo "empty" fi ``` -eq は数値の比較を使うときに用いる。 参考: http://serverfault.com/questions/477503/check-if-array-is-empty-in-bash
続きを読む

bashのwhile文のスコープ

2016年4月20日

### 動機 以下は、FILE中で、"string"を含む列をLISTに格納していきたい、というスクリプトであるが、whileのスコープのせいでうまくいかない。 ``` LIST=() cat FILENAME | while read line do if [ "`echo "$line" | grep "string"`" ] ; then LIST+=($line) fi done echo ${ERROR_LIST[@]}
続きを読む

Windows標準コマンドnetshでパケットキャプチャする

2016年4月15日

netshコマンドでパケットキャプチャして、[Microsoft Message Analyzer](https://www.microsoft.com/en-us/download/details.aspx?id=44226)でログを解析する。 ### トレース開始 ``` >netsh trace start capture=yes ``` ### トレース終了 ``` >netsh trace stop ``` ### ログの場所 ロ
続きを読む

pythonでzipWith

2016年4月14日

pythonってzipWithないのかなと思ったら、mapがzipWithになるようです。 ``` >>> map( lambda x , y : x + y , range(1,10) , range(11,20) ) [12, 14, 16, 18, 20, 22, 24, 26, 28] ``` zipWith3にもなる、 ``` >>> map( lambda x , y , z: x + y + z , range(1,10) ,r
続きを読む

チェックサムコマンド – md5など

2016年4月6日

ファイルのチェックサム値を算出するコマンド。 ``` [root@ ~]# touch test [root@ ~]# md5sum test 57b05df9a885101091a1d311a7a6828d test [root@ ~]# echo aaa >> test [root@ ~]# md5sum test 6e1d0b7c09f769d0507b6ca87dbc73ad test ``` ファイルの中身を変えるとハッシュ値が変わ
続きを読む

CentOS にファイル改ざん検知システムを導入する【AIDE】

2016年3月30日

# AIDEとは AIDEとはAdvanced Intrusion Detection Environment の略で、オープンソースの改ざん・侵入検知システムです。 侵入検知システム(IDS:Intrusion Detection System)にはネットワーク型とホスト型がありますが、AIDEはホスト型のIDSです。 具体的な用途としては、 * ウェブサイトの改ざんの検出 * ルートキットの検出(Linuxのコアファイルの改ざん検出) が考えら
続きを読む

grepでヒットした行の数を表示する

2016年3月29日

### 文字列 "hoge" が現在のディレクトリ下の各ファイルに何行存在するか検索する。 ``` grep -ci "hoge" * ``` ### 実行結果 ``` [ec2-user@test pb-dbcustom]$ grep -ci "weekly" */*.php _inc/ajax.php:0 _inc/modal_login.php:0 _inc/top.php:3 activity/activity-loop.php
続きを読む

クライアント認証をIPによっては不要にする

2016年3月16日

以下、192.168.0.1のみ不要にする設定。 ``` Options FollowSymLinks AllowOverride None Order allow,deny allow from all SSLRequire (%{REMOTE_ADDR} =~ m/^192\.168\.0\.1$/) \ or \ (%{SSL_CLIENT
続きを読む

pythonでGET,POSTを受け取る

2016年3月15日

まず、cgiモジュールをimportする。 ``` import cgi ``` ### has_key,hashで取得 ``` form = cgi.FieldStorage() if form.has_key("key"): print "keyあり" print form["key"].value ``` ### getvalueで取得、デフォルトも設定できる ``` print form.getvalue('key
続きを読む

s3からpythonを使ってファイルを取得する

2016年3月11日

``` #!/usr/bin/env python # -*- coding:utf-8 -*- import boto import boto.s3.connection conn = boto.s3.connect_to_region( region, aws_access_key_id, aws_secret_access_key, is_secure=True, calling_format=boto.s
続きを読む

botoで名前に’.’(ドット)が入っているbucketにコネクトができない

2016年3月11日

``` Bucket_Name = 'hoge.foo.com' ``` として、 ``` bucket = conn.get_bucket('Bucket_Name') ``` これを実行すると、、 ``` Traceback (most recent call last): File "./test.py", line 39, in bucket = conn.get_bucket('hoge.foo.com')
続きを読む

pythonでjsonを整形

2016年3月11日

スクリプト ``` #!/usr/bin/env python # encoding: utf-8 import json dict = json.loads(raw_input()) format_json = json.dumps(dict, indent=4, separators=(',', ': ')) print format_json ``` 上のスクリプトを書かずに、こっちでもよい。 ``` python -m json
続きを読む

boto3を使う時のファイル名

2016年3月9日

### boto.py ``` #!/usr/bin/env python # -*- coding:utf-8 -*- import boto conn = boto.connect_s3() ``` を実行したら、 ``` $ ./boto.py Traceback (most recent call last): File "boto.py", line 3, in import boto File "/var
続きを読む

bash 文字列比較の注意

2016年3月8日

bashの文字列比較 ### スペースなしの文字列 ``` # a="1234" # b="1234" # if [ $a = $b ]; then echo OK; fi OK # if [ "$a" = "$b" ]; then echo OK; fi OK ``` ### スペースがある文字列の場合 ``` # a="1234 fd" # b="1234 fd" # if [ $a = $b ]; then echo OK; fi
続きを読む

redmineのシンタックスハイライト

2016年3月7日

``` # -*- coding:utf-8 -*- import re str_reg = re.compile("[\w|\W]*Known\s+issue[\w|\W]*") result = str_reg.match("Hungry") if result is None: print "not exist" else: print "exist" ``` みたいに書くとシンタックスハイライトがつく。 pyt
続きを読む

python2の記法のメモ

2016年3月4日

### ifの条件式で... 以下のような書き方が許されている。 ``` if 1 < x < 10: ... ``` ### 文字列 strip() ``` >>> a = 'abcd1234' >>> a.strip('ab') 'cd1234' >>> a.strip('ab4') 'cd123' >>> a.strip('ab5') 'cd1234' >>> a.strip('v') 'abcd1234' ```
続きを読む

pythonでAWSのSNSを使う

2016年3月4日

pythonでAWSのSNSを使いたいとき まず、AWS SDK for Python (Boto3)をインストール。 ``` pip install boto3 ``` そして、下のスクリプトを実行すればメール送信完了。(適宜、変更して) ``` import boto.sns region = 'ap-northeast-1' #このリージョンはどこのリージョンを使うかの指定なので、実際に ARN 取得したリージョンを入れる
続きを読む

gspread sheetにpython APIでログイン

2016年3月2日

ログイン(oauth2を使わない場合) ``` import gspread # Login with your Google account gc = gspread.login('thedude@abid.es','****') ``` 参考: https://pypi.python.org/pypi/gspread https://github.com/burnash/gspread
続きを読む

google spread sheetをPythonでいじりたい

2016年3月1日

インストール ``` pip install gspread pip install --upgrade google-api-python-client ``` 以下実行 ``` # -*- coding:utf-8 -*- import json import gspread from oauth2client.client import SignedJwtAssertionCredentials def main():
続きを読む

google spread sheetをRubyでいじりたい

2016年3月1日

google_driveをまずインストールして、とのことなのでインストールを試みる。 ``` # gem install google_drive Building native extensions. This could take a while... ERROR: Error installing google_drive: ERROR: Failed to build gem native extension. /usr/bin/r
続きを読む