【SSH】ログインしないでコマンド実行

シェルスクリプトでリモートで実行できる。 ssh -i [SSH_KEY] [USER]@[PUBLIC_IP] “コマンド”

Read more

【Git】cloneの保存先を指定or保存時のファイル名を変更

cloneを使う時に以下のように保存先を指定することが出来る。 その際は元あったファイル名でもいいが、ファイル名を変更することも出来る。 ファイル名は指定してあげなければ保存できないので、変更しなくても通常のファイル名を…

Read more

【Git】ユーザやパスワードの入力をスキップする

gitでcloneしようとするといちいちユーザやパスワードを応答に合わせて入力しなければならない。 面倒だったり、自動化する時に応答に対して入力する処理がめんどくさい場合は以下のようにすることで、その応答なしでclone…

Read more

【SSH】鍵情報の変更や新規の接続のWarningや応答待ちをスキップ

以下の2つのオプションを付けることで初めての接続や鍵情報の変更があった場合にエラーが出ないので、応答をしなくてよくなる。 ssh -o StrictHostKeyChecking=no -o UserKnownHosts…

Read more

【sed】ファイルを上書き保存

-iオプションを使うことでファイルを選択し、上書き保存することができる。 sed -i -e ‘s/test/TEST/g’ /etc/test

Read more

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

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

Read more

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

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

Read more

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

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

Read more

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

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

Read more

bash記法–初歩初歩

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

Read more

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

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

Read more

Rake でのシェルの実行方法

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

Read more

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

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

Read more

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

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

Read more

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

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

Read more