毎日取得していたバックアップが、 取れていないことに気がついた。 いつからかは、よくわからない。
バックアップするファイルの生成は、 できていて、sftp転送が失敗しているのがわかった。
バックアップ処理を、shellから手動で実行すると、 sftp転送に成功したが、cronからの実行では失敗する。
ログを出すようにすると、 Permission denied (publickey). とでている。
環境変数や、権限を疑ったが、そうではないようだ。 お手上げなのでsftpに-vを着けて詳細を出力させる。
手動実行とcronからの実行時のログを比較した。
どうやら手動の時は、ssh-agentが認証しているようだ。 確かに、パスフレーズ付きのカギを指定していた。 なんてこった。
バックアップ用にパスフレーズの無い秘密鍵用意して 設置したら、バックアップがとれる用になった。
前に秘密鍵を交換するときに、間違えたのが原因。 ファイル名が同じだったので、パスフレーズ付きの ものに変えてしまったのだ。
これを機にバックアップ用の秘密鍵は、 ファイル名を変えるようにした。