さくらのクラウド APIを利用してアーカイブリストをメール送信

2021-06-29

さくらのクラウドのアーカイブリストをメールで送信する

さくらのクラウドAPIでアーカイブを自動作成するスクリプトを以前に作成しました。アーカイブが正しくできるているか確認するために、アーカイブリストをメールで送信するシェルスクリプトも作製したので紹介します

さくらのクラウドのAPIを利用して、Curlコマンドでアーカイブの「Name」「ID」「CreatedAt」の値を取得しています。「CreatedAt」でアーカイブが作成された日時が確認できますので、アーカイブ作製のシェルスクリプトがCronで実行された後にレポートメールが配信されるように設定すれば、アーカイブが正しく作成されているか確認できます

#!/bin/bash

# https://secure.sakura.ad.jp/cloud/zone/tk1a/api/cloud/1.1/ (東京第1ゾーン)
# https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/ (石狩第1ゾーン)
# https://secure.sakura.ad.jp/cloud/zone/is1b/api/cloud/1.1/ (石狩第2ゾーン)
# https://secure.sakura.ad.jp/cloud/zone/tk1v/api/cloud/1.1/ (Sandbox)

TDAY=`date +%Y%m%d`
HOSTNAME=`/bin/hostname`

access_token=XXXXXXX
access_token_secret=XXXXXXX
url=https://secure.sakura.ad.jp/cloud/zone/tk1a/api/cloud/1.1/archive
MAILTXT=/var/tmp/archive_repot.txt
SUBJECT=Sakura_.Archive_List
MAILADDR=hoge@example.com

if [ $HOSTNAME = "www02" ] ; then

curl --user "$access_token":"$access_token_secret" \
     -H 'X-Sakura-API-Beautify:1' $url \
     | jq -r '. .Archives []  | select(.Name | contains("archive")) \ 
     | .Name, .ID, .CreatedAt' > $MAILTXT

#Mail
cat $MAILTXT | /bin/mail -s "$SUBJECT" $MAILADDR
  • 「Access Token」「Access Token Secret 」「MAILADDR」等の使用する環境に変更して下さい

アーカイブリストをメール送信するシェルスクリプトをCronに登録する

上記で制作したシェルスクリプトをCronに登録します。
アーカイブリストをメールで送信するシェルスクリプトは「ArchiveReport.sh」として、毎日7時に実行されます

0 7 * * *       /xxx/xxx/ArchiveReport.sh >/dev/null 2>&1

 

さくらのクラウドAPI関連記事