この記事は、毎日・毎週動くはずの自動処理(バックアップ、データの取り込み、表の作成など)を仕事で使っている事業者の方に向けて書いています。

「成功」と出るのに、記録は ERROR

自動処理が「成功」と表示していても、中身が成功したとは限りません。どういうときにそうなるのかを、模擬データで作って確かめました(実際の業務のファイルや記録は使っていません)。

作ったのは、よくある形のバックアップです。

  • 写す元: 模擬の書類 20 個が入ったフォルダ。その中に、行き先が消えた「つなぎ先」を 1 つだけ混ぜました(フォルダを移したあとによく残るものです)
  • 写す仕組み: Windows の標準の写す道具(robocopy)で、別のフォルダへ丸ごと写す
  • 終わり方: 写す道具がどう終わっても、最後に「成功(0)」を返す作り

3 回動かした結果です。

  • 写した先には、書類が 20 個とも写っていました
  • 記録ファイルには、3 回とも ERROR と書かれました(写せない「つなぎ先」が 1 つ残るため)
  • 仕組みが返した結果は、3 回とも「成功(0)」でした

自動処理を起動する Windows の仕組み(タスクスケジューラ)が画面に出す「結果」は、この返した値です。つまり画面は毎日「成功」、記録の中身は毎日 ERROR、という状態が、エラーの画面も通知も出ないまま続きます。

この模擬では書類は写っていました。それでも、写せていないものがもし大事なファイルだったら、気づくのは戻そうとしたときになります。

直し方も確かめました。失敗したら「失敗(1)」を返す形にすると、同じ条件で結果が 1 になりました。行き先の消えた「つなぎ先」を片づけると、記録は OK に変わりました。

止まり方は 2 種類ある

止まり方は 2 種類あります。

  • 記録はあるが、中身が失敗(上の模擬)。「成功」の表示だけを見ていると気づきません
  • 記録そのものが無い。パソコンが止まっていた日や、記録を書く前に止まった日です。当方の毎晩の自動更新では、画面に「失敗」と出ているのに記録ファイルが 0 行、ということがありました。記録の中からは見えません。「あるはずの日に無い」ことでしか分かりません

「成功」の表示でなく、記録を日付で並べる

確かめ方はシンプルです。

  1. 実行の記録から、日時と結果の部分だけを取り出す
  2. 成功の印と失敗の印を決める(OK・完了・結果 0/ERROR・失敗など)
  3. 日付で並べて、日ごとに分ける。「成功を確かめられた」「成功と失敗の両方の印がある」「失敗の印だけ」「記録を確かめられない」の 4 つです

すると「最後に成功を確かめられた日」が分かります。失敗のあとやり直して成功した日のように、同じ日に失敗と成功の両方がある日は「両方」として残します。

本家の読み物の下に、記録を貼ると日ごとに分ける画面を置きました。ブラウザの中だけで並べ、どこにも送りません。生の記録を丸ごと貼るのは避けてください。URL や鍵が混ざることがあります。

並べて分かるのは「成功を確かめられない日」までです。止まった原因と、止まったら気づける仕組みは、別の作業です。

全文は本家に

自分でできる確認 3 つ、頼むときに決める 2 つ(直すこと・止まったら気づけること)、依頼の前に用意するものは、本家の記事にまとめています。

毎日動くはずの自動処理が、ある日から黙って止まっていた

Sumitsuke は、事業者の方(法人・個人事業主)から、業務の自動化を納品型で受けています。止まったら気づける形にする作業も含みます。

業務自動化の内容と料金