Skip to content

Instantly share code, notes, and snippets.

View sasasin's full-sized avatar

Shinnosuke Suzuki sasasin

View GitHub Profile
@sasasin
sasasin / github_clone_org_all_repo.sh
Created March 3, 2022 08:32
GitHub Organization に存在する全 GitHub repo を git clone するやつ
#!/bin/bash
# GitHub Organization に存在する全 GitHub repo を git clone するやつ
# 自分が Read 以上のアクセス権を持っている GitHub repo に限られる
# 組織名を指定する
GH_ORG=$1
# ページングしてくれないので欲しいだけ全部が収まる数を指定する
GH_LIMIT=$2
# 並列数
XARGS_P=$3
@sasasin
sasasin / list_securitygroups_used_at.sh
Created January 27, 2022 04:59
AWS Secrutiy Group が付いてるのをリストアップするやつ
#!/bin/bash -e
# SecurityGroup を削除するとき、ENIにくっついて利用されてないことの確認の他に、
# 実行時だけENIを生成しSecurityGroupをくっつけるものでも利用されてないことの確認が必要となる。
# CodeBuild, Lambda, EC2 起動設定 を例にした。
# 他にもSecurityGroupが付くやつは多数あると思う
set -o pipefail
# EC2 ENI に付いてる Security Group
aws ec2 describe-network-interfaces \
@sasasin
sasasin / dump_route53_hosted_zones.sh
Created January 20, 2022 07:32
AWS Route 53 hosted zones 中身を全部出すやつ
#!/bin/bash -e
aws route53 list-hosted-zones-by-name \
| jq -cr '.HostedZones[].Id' \
| sort \
| while read HOSTED_ZONE_ID; do
aws route53 list-resource-record-sets --hosted-zone-id ${HOSTED_ZONE_ID} \
| jq -r '.ResourceRecordSets[] | [.Name, .Type, (.ResourceRecords[]? | .Value), .AliasTarget.DNSName?] | @csv' \
| sort
done
@sasasin
sasasin / github_clone_all_repo.sh
Last active November 25, 2024 03:35
GitHub Organization に存在する全 GitHub repo を git clone するやつ
#!/bin/bash
# GitHub Organization に存在する全 GitHub repo を git clone するやつ
# 自分が Read 以上のアクセス権を持っている GitHub repo に限られる
# 組織名を指定する
GH_ORG=$1
# ページングしてくれないので欲しいだけ全部が収まる数を指定する
GH_LIMIT=$2
# 並列数
XARGS_P=$3
@sasasin
sasasin / README.md
Created October 15, 2021 08:34
SQlite でシュッとテストデータパターンを生成する

唐突に cross join でテストデータパターンを生成したくなった。あまりシェル芸の激しいのだと後で見てつらいので、SQLで何かシュッとやりたい。

人類にはSQliteという便利なやつがあった。macOSだと簡単に入る。データベースファイル名はテキトーに。

❯ brew install sqlite
Warning: sqlite 3.36.0 is already installed and up-to-date.
To reinstall 3.36.0, run:
  brew reinstall sqlite
@sasasin
sasasin / ignition.ign
Last active September 19, 2021 15:17
Fedora CoreOS の ignition.yml
{
"ignition": {
"version": "3.1.0"
},
"passwd": {
"users": [
{
"name": "core",
"sshAuthorizedKeys": [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDoZQr5L8GlrWDzGtPhQwVG4HwI2embmUOuBH6oN0q7lV76kmszb9A8VOCwJEOgYRxQCfmwJjXEYvN0v55tArHTk1Zpb22JMSchFBmBYjYrHit3p8V8fTPonXTSNZHR8ez7SEpEmz+6EzSTbfwkfEqUKtQKsm4JlbiSjK8znMsHZBsHFCMd4qGx/DFpUdRFtke7bonMAz8fQoI7VidGksn7uqPAm/PIVzFaX8/EL4MLVFKtqUebuGXdVqTscxCqvqeCJn/PbB2SHc/MHrDmr8XTujOdh+SbJbtJRX54lgq+Jntok6ezzerHvKuCID/HVAcMRlf6TlR7z8XVuLMAMGmaEIG6hGYxyZe7RX6J3SY7/viD56ISH2IrWgq1lpeSDM8wNwcb+INpK/iTOFlIZ11qk1qjc8KuOGtL2Fnigo/fe8HZTEkQoNPZCw8vUEeF1kQ0rDoFHVLbUhC8cToN4vhr4uJ3o8gj4faR28vthqJKfXb5YTNUBdFBVl54b69vGZXYz+nX8A6wnb5D6dkOj0UnPiT9XI0gPpGubNYCGoLFm8nGsCcHJLeMhNfKwXdrxUT2TNk0sLhs+REvfYxPqDstAlQsk+S5XlrwF/4TKdtOLOZxOPBoqdLlmEJCp3RG5iAIIbPHYpmPuNTsV0qn8RHp3F3thabcDHnqT4HiqvMYlw==",
@sasasin
sasasin / epub2mp4.sh
Last active January 9, 2024 01:05
EPUB を mp4 に変換するやつ
#!/bin/bash -ve
set -o pipefail
# EPUB ファイルをチャプター毎の mp4 ファイルに変換するシェルスクリプト
## 依存関係
# brew install w3m が必要
# unzip で、EPUBファイルからコンテンツ抽出
# find, sort で、EPUBファイル内にあるXHTMLファイルをリストアップ
# w3m で、XHTMLファイルからHTMLタグを除去し txt に変換
# say コマンドで txt から mp4 ファイルに変換
@sasasin
sasasin / send_bme280_metric_to_newrelic.sh
Last active August 13, 2021 14:29
BME280 の気温、湿度、気圧を、New Relic に投げるシェルスクリプト
#!/bin/bash -e
# bme280 の気温、湿度、気圧を、New Relic に投げるシェルスクリプト。
# cron で毎分とかで動かす。
# 動かしたとき3個とも取れるのか詳しくないので、3回動かして、それぞれ取って投げるようにしている。
# bme280_sample.py は https://github.com/SWITCHSCIENCE/BME280
# send_metric_to_newrelic.sh は https://gist.github.com/sasasin/f84f4ab98839c656e98badd93081f976
/usr/bin/python /home/pi/src/BME280/Python27/bme280_sample.py \
| grep temp \
@sasasin
sasasin / send_metric_to_newrelic.sh
Created August 13, 2021 12:24
New Relic にメトリックを投げるシェルスクリプト
#!/bin/bash -e
# newrelic にメトリックを投稿する。
# newrelic のAPIトークン NEW_RELIC_INSERT_KEY を環境変数に用意しておくこと。
# このシェルを毎分など crontab から実行する。
# NEW_RELIC_INSERT_KEY は crontab などに設定しておけばよいだろう
# 深く考えずパッと取れた時刻で投げる
CURRENT_TIMESTAMP="$(date +%s)"
# メトリック名と値をシェル引数で受け取る
@sasasin
sasasin / send_co2_metric_to_newrelic.sh
Last active August 1, 2021 14:50
CO2濃度をNewRelicに送るやつ
#!/bin/bash -e
# newrelic に CO2濃度を投稿する。
# newrelic のAPIトークン NEW_RELIC_INSERT_KEY を環境変数に用意しておくこと。
# このシェルを毎分など crontab から実行する。
# NEW_RELIC_INSERT_KEY は crontab などに設定しておけばよいだろう
# CO2濃度は mh-z19 から取っている
CO2_METRIC=$(sudo python3 -m mh_z19 | jq '.co2')
# 深く考えずパッと取れた時刻で投げる
CURRENT_TIMESTAMP="$(date +%s)"