shellscript

execコマンドによるリダイレクト

アプリケーション

概要execコマンドは現在のプロセスを実行するコマンドで置き換えるコマンドだが、引数無しで使うとリダイレクトの動的変更ができる。 ちょうどmaster直プッシュの際にプロンプトで確認するようにするで #!/bin/sh exec < /dev/tty read ANSWER というコードが出てきてよくわからなかったので調べてみたのがきっかけ。 使い方#!/bin/sh echo "Outp...

bash shellscript exec

master直プッシュの際にプロンプトで確認するようにする

アプリケーション

概要gitでmasterブランチへの直pushを未然に防ぐためのセーフーティネットの作り方。github上でmasterブランチへのpushを禁止すれば良いのだが、DevOpsの都合上でgithubの設定では問題があったのでhooksを使う方向で設定した。 導入グローバルに設定したいので~/.git_template/hooks配下にpre-pushファイルを作成する。.git_templateデ...

Git shellscript

macにanyenvをインストールする

インフラストラクチャ

Macにanyenvをインストールする手順です。若干ハマったところがあったのでメモ。 インストール私の環境では、/usr/local/bin/に色々置いてあるので、そこにanyenvをインストールすることにします。 cd /usr/local/bingit clone https://github.com/riywo/anyenv Pathを通すexport PATH="/usr/loc...

shellscript anyenv

Letsencryptの証明書自動更新スクリプト

インフラストラクチャ

概要letsencryptの証明書を自動更新するスクリプトの紹介です。以前から作ってはいたのですが、色々と問題があったり、サーバー環境が変わったりで完全版を残せていなかったので改めてまとめました。 環境 nginx v1.12.0 ※letsencryptのインストールやshell scriptの実行方法等には触れません。 スクリプト月に一回証明書の有効期限を問わず更新し(--force-ren...

cron Let's Encrypt shellscript Slack

letsencryptの証明書自動更新(cron)とちょっとだけSlack連携

インフラストラクチャ

letsencryptの証明書自動更新(cron)とちょっとだけSlack連携 やることletsencryptの証明書を自動更新させるのを長らく忘れていたのでshellとcronで設定します。 やらないこと letsencryptのインストール・・・pythonエラーがちょっと面倒だった記憶が。。。 letsencryptのオブションの説明・・・色々あるので。。。 環境 さくらvps CentO...

cron Let's Encrypt shellscript Slack

Let'sEncryptの証明書自動更新に失敗し続けていたけど何とかした話

インフラストラクチャ

letsencryptの証明書自動更新(cron)とちょっとだけSlack連携 でかいたスクリプトは、手動で実行する場合は更新成功するのですが、cronで実行すると何故か毎回失敗するという問題作でした。 そこでスクリプトを見直し、何とか正しく動作するように改良してみました。 筆者はnginx+apacheのサーバー構成です。基本的には--webrootオプションを使って証明書発行や更新を行っていま...

cron Let's Encrypt Slack shellscript

gitコマンドを楽にするシェルスクリプトをかいた

アプリケーション

概要.bashrcにgitのショートカットコマンドをつくったでgitのエイリアスコマンドをつくったのですが、中途半端だったので改良しました。 前回のエイリアスでもそこそこにgitコマンドが快適になりましたが、gitコマンドを叩く度にブランチ名をタイプしないといけない仕様は改善すべき点だと思ったので、selectを使って解決しました。 ソースgit branchの値をselectで回せばいいと思って...

Git shellscript

cdコマンドでディレクトリをタイピングするのが面倒くさくなってきたのでシェルスクリプトで楽をする

アプリケーション

概要cd hogehogeとかパスやらディレクトリやらタイプするのが面倒になるという怠惰っぷりを発揮してきたので、シェルスクリプトを使って少し楽できるようにしました。 ソース#!/bin/sh # cd by selecting numbers function cdSelect() { dirs=`ls -a` PS3="Select directory &g...

bash shellscript

.bashrcにgitのショートカットコマンドをつくった

アプリケーション

git add hogehoge, git commit hogehoge, git push hogehoge.... 基本的なgitコマンドしか使わないのですが、毎回コマンド叩くの面倒くさい、楽したいということでエイリアスをつくってみました。 スクリプト#git branch alias git-b='git branch' #git checkout function gi...

bash Git shellscript