Tag: cheatsheet

AWS CLIのチートシート

CloudWatch logs を CLIで調査( fish ) クエリ投げる set queryId (aws logs start-query --log-group-name NginxAccessLog \ --start-time (date +%s --date "1 week ago") \ --end-time (date +%s) \ --query-string 'fields @timestamp, @message | filter @message NOT LIKE /ua:ELB-HealthChecker/ | sort @timestamp desc | limit 20'\ | jq -r '.queryId' ) ステータス確認 aws logs describe-queries | jq '.queries[] | select(.queryId=="$queryId")' 取得 aws logs get-query-results --query-id $queryId | jq '.results[][] | select(.field == "@message") | . Read more...

badblocks関連

いろいろやってみたが 仕事だと怖くて不良セクタのHDDは使えないのですが、個人だともったいないので色々調べた記録。 badblockでのチェックを試みたが1ヶ月以上かっても終わらない HDDに[ 1 ]を書き込んで[ 0 ]を書き込んでsmartctlでの結果を比較するような形の方が良いだろう HDDの復旧は、最近のHDDでは『書き込めなかったら、予備セクタを割り当てる』という振る舞いをするので とにかくddで全領域書き込んでみれば良い、ということかも。もちろん新しいHDDを買うのがベスト。 badblock -w だと、もう少しましな文字列を書き込むので、より良い、という点は残るかも あとbadblockを使う時は badblockのセクタ番号を取得するためだが、smartctlでも値を取得できる。 複数セクタがダメになっている、とかでなければ、smartctlの値の方が正確かも。 badblockの値を使うことにネガティブな意見が多い http://unix.stackexchange.com/questions/92076/how-can-i-check-for-bad-blocks-on-an-lvm-physical-volume ファイルシステムのツールか、HDDが不良セクタを使おうとしたら予備領域割り当てるし、smart機能を使った方がよい、という意見 私の考え 結局の所、HDDのbadblockを調べて,ddでゼロを書き込むしかない。ような? というか、その方が確実のような気がする。 手軽にやれそうなのでext4でフォーマットしてfsckでテストしてみた mkfs.ext4 /dev/sdb1 nohup fsck -p -t -y -f -c /dev/sdb1 & 英語のページだがext2, ext3, raiserfs, LVMでの方法が乗っている http://linoxide.com/linux-how-to/how-to-fix-repair-bad-blocks-in-linux/ 検査の手順 # cd / # badblocks -s -o badblocks.hda4 /dev/hda4 このオプションならば非破壊。 -s は経過表示 -o ファイル名 は、不良セクタがあったときのブロック番号のファイル化です。(登録時に使う) なお、すでに不良セクタが登録されている場合は # badblocks -s -i badblocks.hda4 -o badblocks2.hda4 /dev/hda4 とすることで登録済みの領域をスキップ。 作成される badblocks2.hda4 は、新規の不良セクタ分のみです。既存のは出力されません。 Read more...

cheetsheet/jq

ダブルコーテーションを除く -r AWS CloudFrontのAPIアクセスログからAPIキーをベースにアクセス状況をしらべた jq ‘Records[]‘などで、外側の余計な配列なりハッシュなりを剥がす ❯ cat cloudtrail_root_log.json | jq -r '.Records[]|select(.userIdentity.accessKeyId == "himitunaisho")' > cloudtrail_root_only.json EC2のspotfleetインスタンスのIPアドレスを調べる。結果は台数ごとに出力されるので、1行だけ取り出すようにhead -n を使う aws ec2 describe-instances --profile test --filters "Name=tag-key,Values=Name" "Name=tag-value,Values=spotfleet-20171027" | jq -r '.Reservations[].Instances[] | select(.State.Name == "running") | .PrivateIpAddress' Pretty print the json jq “.” < filename.json Access the value at key “foo” jq ‘.foo’ Access first list item jq ‘.[0]’ Slice & Dice jq ‘.[2:4]’ jq ‘.[:3]’ jq ‘.[-2:]’ 参考 ここがわかり易かった => jq コマンドが強力すぎてヤバい件 CUBE SUGAR STORAGE Read more...

cheetsheet/logger

logger -ip local4.notice 'WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 98 idle, and 104 total children' 標準出力と標準エラー出力をloggerコマンドで別々にsysylogに出力する logger_i="/usr/bin/logger -ip local0.info" logger_e="/usr/bin/logger -ip local0.error" { ... command1 command2 ... } 1> >(${logger_i}) 2> >(${logger_e}) Read more...

softether

sudo vpncmd /HELP sudo vpncmd :/SERVER オプション 効果 HubList ハブ一覧 Hub VpnHub1 ハブの設定 StatusGet ステータス SessionList セッション一覧 セッション名は “SID-” の後に、「ユーザー名」を示す文字列が入り、その後に連番で数字が入ります。 SessionGet ? SessionList で得られたセッションの詳細が得られるかも SecureNatHostGet セキュア NAT の情報を取得 DhcpGet DHCP 情報の取得 BridgeList ブリッジ情報 check 動作チェック ブリッジ関連の操作 リスト sudo vpncmd :/SERVER /PASSWORD:/adminhub:<ハブ名> /cmd BridgeList Read more...

cheat sheet journalctl

効果 コマンド 逆順表示 journalctl -r 特定ユニット journalctl -u rsyslog.service 時間指定 journalctl –since today 現在のブートセッションのみ journalctl -b tail -f のようにフォロー journalctl -f ページ(errとかinfoとか)ごと journalctl -p err デーモンのリストを出し検索 systemctl list-units --type=service 例 rootless containerd のログを置い続ける journalctl -f --user-unit containerd.service -p warning Read more...

cheat sheet tmux

現在のショートカット キーバインド コマンド ? ショートカットキーのリストを表示 c 新しいウィンドウを作成 n 次のウィンドウへ移動 SPACE 次のウィンドウへ移動 p 前のウィンドウへ移動 BS 前のウィンドウへ移動 o 次のペインへ移動 w ウィンドウの選択メニューを表示 d セッションのデタッチ : コマンドプロンプトの開始 ' ウィンドーに名前をつける [ コピーモードの開始 ] バッファ内容のペースト q ペインのインジケータを表示 % ウィンドウを左右のペインに分割 { ペインの入れ替え } ペインの入れ替え(逆順) l ペインの左右分割位置を左へ移動 h ペインの左右分割位置を右へ移動 x ペインの破棄 コマンドプロンプトでの使い方 効果 オプション すでに開いたセッションにアタッチする tmux attach ウィンドウの一覧を取得する tmux list-windows (C-b w) 新しいウィンドウを作る tmux new-window (C-b n) クライアントをデタッチする tmux detach-client (C-b d) キーバインドの一覧を表示する tmux list-keys (C-b ? Read more...

cheat sheet w3m

w3mでタブで開く 効果 ショートカット 現在のページをコピーして新しいタブを作成 大文字のT リンクを新しいタブで開く Ctrl+T 現在のタブを閉じる Ctrl+Q タブ間の移動 {と} タブ選択のメニューを表示 Esc+小文字のt Read more...

cheatsheet/docker-compose

便利な オプション 効果 images イメージ一覧 logs ログ port web 3000 ポート表示 build YAML に「build:」があれば、そのイメージをまとめてビルド pull YAML に「image:」があれば、そのイメージをまとめてプル up -d pull して build してからデーモンとして まとめて起動 up -d hoge hoge と依存するデーモン だけ を起動 stop まとめて終了 rm まとめて削除 キャッシュ使わないでビルド docker-compose build --no-cache 既存のコンテナを作り直す docker-compose up --force-recreate minecraft-touhou 参照 docker-compose コマンドまとめ - Qiita Read more...

cheatsheet/SecretManager

SecretManager の AWS-CLI からの利用方法 ECS でのオートスケール検証に関連して、機密情報を SecretManager にいれる作業を行った。 取得 aws secretsmanager get-secret-value \ --secret-id "/example/config/env20/api/apps/config.json" |\ jq -r '.SecretString' | jq . 更新 aws secretsmanager put-secret-value \ --secret-id test \ --secret-string "{\"password\":\"version7\"}" \ --version-stages (date +%Y%m%d) AWSCURRENT limit について https://docs.aws.amazon.com/ja_jp/secretsmanager/latest/userguide/reference_limits.html IAM ロールについて https://docs.aws.amazon.com/ja_jp/secretsmanager/latest/userguide/reference_iam-permissions.html Read more...