fetchモジュール内でエラー

[事象]
Ansibleのplaybookを実行したら、fetchモジュール内で以下の様なエラーメッセージが表示されてしまった。

"Failed to fetch the file: [Errno 21] Is a directory: '/home/hoge/test'"

[原因]
ディレクトリパスの宣言を行う際に末尾にスラッシュ(/)が抜けていただけだった。。

[対応方法]
変数名で宣言していたので、その部分の末尾にスラッシュを追加するだけで動いた。

vars: dest_file_path: /home/hoge/test/
                                     ^

初めてのAnsible

初めてのAnsible

P56 ロギングの際に決めるべきこと

[決めておくべきこと・決めておいた方がよいこと]
5W1Hで出力内容を設計
・日付や時刻の形式
文字コード
・ログ保管場所
・ローテート間隔
・保存期間
・ログフォーマット

[ロギングしてはいけない内容]
・個人情報
 住所、氏名、電話番号、クレジットカード番号、メールアドレス、注文内容等
・企業秘密
 売上データ、課金データなど

P44 スロークエリを出力する方法

[オプションファイルで設定する方法]

slow-query-log = ON
slow-query-log-file = /var/log/mysql-slow.log
long-query-time = 1

なお、スロークエリかどうかの閾値はデフォルトで10秒である。
システム変数で設定したい場合は、上記ハイフンをアンダースコアにしたものに読替えて設定すればよい。

P44 ログ出力先の変更方法

[オプションファイルで切替する方法]

log-output = FILE,TABLE

[SETクエリで切替する方法]
SET GLOBAL log_output = 'FILE,TABLE';

P43 一般クエリログの有効化方法

[ファイルで一般クエリログを有効化]

[mysqld]
general-log
general-log-file = /var/log/mysql.log

[SETクエリで一般クエリログを有効化]

SET GLOBAL general_log = ON;
SET GLOBAL general_log_file = '/var/log/mysql.log';

P43 mysqldがどのファイルを読み込むかの確認方法

mysqld --help --verbose

P25 ユーザーの実行コマンドをロギングする方法

.bash_profileの末尾に以下を追加する。

mkdir -p ~/.termlog
find~/.termlog -daystart -maxdepth 1 -name "*.log" -mtime +30 -exec rm {} \;
script -afq ~/.termlog/termlog_$USER.$(date +%Y%m%d).$$.log
exit 0

この方法の場合、ログインしたユーザーが意図的にファイル削除を行えるので、厳密な監査ログに使うものとしては弱い。
何か起きた際の作業内容確認としては使えるので、ちょっとした開発環境に仕込んでおくのには有用である。