以下の記事でRDSのログ出力とPython版AWSコマンドラインツールを使ったログのダウンロード(個別)を
紹介しました。
今回は個別ではなく、特定のRDSで出力されているすべてのログ(ファイル)をダウンロードしてみました。
(“describe-db-log-files”でログファイル一覧を取得しています)
スクリプトは下記のようになります。
# cat download-db-logs #!/bin/sh FILES=`aws rds describe-db-log-files --db-instance-identifier $1 | jq '.DescribeDBLogFiles[].LogFileName' | sed 's/"//g'` for FILE in $FILES; do echo "######## $FILE ########" aws rds download-db-log-file-portion --db-instance-identifier $1 --log-file-name $FILE | jq '.LogFileData' | sed 's/^"//' | sed 's/"$//' | sed 's/\t/t/g' | sed 's/\n/n/g' done
実行すると下記のようになります。
# ./download-db-logs master ######## error/mysql-error-running.log ######## null ######## error/mysql-error-running.log.12 ######## 130502 11:11:27 [Warning] IP address '10.0.0.210' could not be resolved: Name or service not known ... ######## error/mysql-error-running.log.9 ######## 130502 8:02:03 [Note] /rdsdbbin/mysql/bin/mysqld: Normal shutdown ... ######## error/mysql-error.log ######## null ######## general/mysql-general.log ######## /rdsdbbin/mysql/bin/mysqld, Version: 5.5.27-log (Source distribution). started with: ... ######## general/mysql-general.log.12 ######## /rdsdbbin/mysql/bin/mysqld, Version: 5.5.27-log (Source distribution). started with: ... ######## general/mysql-general.log.13 ######## /rdsdbbin/mysql/bin/mysqld, Version: 5.5.27-log (Source distribution). started with: ... ######## general/mysql-general.log.14 ######## /rdsdbbin/mysql/bin/mysqld, Version: 5.5.27-log (Source distribution). started with: ... ######## slowquery/mysql-slowquery.log ######## null ######## slowquery/mysql-slowquery.log.12 ######## /rdsdbbin/mysql/bin/mysqld, Version: 5.5.27-log (Source distribution). started with: ... ######## slowquery/mysql-slowquery.log.13 ######## /rdsdbbin/mysql/bin/mysqld, Version: 5.5.27-log (Source distribution). started with: ... ######## slowquery/mysql-slowquery.log.14 ######## /rdsdbbin/mysql/bin/mysqld, Version: 5.5.27-log (Source distribution). started with: ...
本件、”Marker”や”AdditionalDataPending”は考慮していません。
また、”AdditionalDataPending: true”、つまり未ダウンロードのログが残っている場合は、
そのログはダウンロードできません。