シェルスクリプトの実行時間を表示

bashなどのシェルには「$SECONDS」というシェルが起動してからの時間が記録されている環境変数がある。 なので、これを使えば表示出来る。 echo $SECONDS 任意の時間から図りたいなら以下のようにリセットす…

続きを読む

python内でコマンドを使用する

python内でコマンドを使用 python内でコマンドを実行するにはsubprocessを使用する。 import subprocess cmd = “コマンド” proc = subprocess.check_out…

続きを読む

シェルからファイルに書き込みがあるか、ファイルが存在するかを確認する

シェル内で以下のようにすることでファイルに文字があるかどうか確認することが出来る。 ファイルによってコメントアウトの部分(今回は#)が違うので、その都度変える。 CHECK=`grep -ve ‘#’ -e ‘^$’ […

続きを読む

スクリプトをどこかにアップしてワンラインで実行する

サーバーで使いたいスクリプトとかをどっかに公開しておいてすぐに実行したいときの話。 githubとかにスクリプトをアップして curl -kL -H ‘Cache-Control: no-cache’ https://r…

続きを読む

bash記法–初歩初歩

echo $echo hoge{1,2,3,4} hoge1 hoge2 hoge3 hoge4 for {1..10}で1から10までの配列を作るみたいに、{1..$a}で配列は作れないっぽく、seqを使わないといけな…

続きを読む

シェルスクリプトのエラー処理を見やすくする

シェルスクリプトでエラーハンドリングをする場合、以下のようにエラーコードを if 文でチェックするのが一般的かと思います。 command … if [ $? -ne 0 ] then echo “Error!” e…

続きを読む

Rake でのシェルの実行方法

sh コマンドでシェルアクセスができますが、ダブルコーテーションやシングルコーテーションで括るのではなく、 %[…]といったフォーマットでコマンドを括ることにより、コマンド中のダブルコーテーションやシングルコーテーシ…

続きを読む

開始日から今日までの間に特定の曜日が何回やって来たかをカウントするシェルスクリプト

開始日から今日までの間に特定の曜日が何回やって来たかをカウントするシェルスクリプトです。 ExcelやAccessなんかだともっと楽にできそうです。 #!/bin/sh START_DAY=”2014-10-10″ TO…

続きを読む

開始日から今日までの間に1日が何回やって来たかをカウントするシェルスクリプト

例えば毎月1日にバックアップ処理を実施して、毎日のcronの中でそのバックアップが正常に世代管理されているかをチェックするケースがあるかと思います。 例えば月次のバックアップが3世代分取られているかをチェックする際に、開…

続きを読む

Amazon RDSでスナップショットを自動コピーするシェルスクリプト

RDSにはAutomated Backups機能があり、最大35日分のバックアップを自動で取ることができます。 しかし、その日数を超えてしまったバックアップは自動的に削除されるようになっています。 そのため、ある程度の期…

続きを読む