トップ回答者
タスク失敗の原因が分からない。

質問
-
2k3 SP2 testserverAという名前のサーバで以下のようなタスクを設定しています。
copy "ネットワークドライブX(テストサーバBのドライブをマウントしている):\パスAAA\パスBBB\*.bak" "D(testserverのローカルドライブ):\パスccc\BACKUP" /y > log.log
※日本語の箇所は説明のために記載しています。
このタスクが「0x1で失敗(=全くコピーされていないで終了している)する事がある」という現象に悩んでいます。
上記を記載したバッチを、タスクで1日で12時と23時に動くようにしています。(つまり定期的にデータをコピーしています)
バッチ自体を動かして理想通りに動いたので、タスクでスケジューリングしました。そのテストも成功し、本番運用で暫く(数ヶ月)運用しています。
ところが、ここ何回か、タスクが失敗したり成功したりをしています。
・タスクの「前回の実行結果は0x1(無効な関数が呼び出されました)
・log.logは実行した時間でファイルスタンプも更新されているが中身は空白。(エラーも記載されていない真っ白な状態)
・ドライブはマウントされた状態になっている事は確認済み
・手動でタスクから実行すると問題なく成功。(ログも正常に記載される)
・タスク実行時のアカウントは変更していませんし、設定されているアカウントのパスワードも変わっていません。(念のため、再設定しましたが
変化なし
・失敗する日もあれば、何も変更を加えなくても成功する日もある(成功する時は12時23時友に成功で、片方のみ失敗する事は今のところなし)
失敗する日、成功する日のパターンが不明。
・testserverAでは同じアカウントで別のタスクも設定していますが、このタスクは失敗するタスクの30分前にスケジューリングされており、今のところ
一度も失敗した事はない。内容はtestserverBから別のパスのデータをコピーしている。(数秒で終了する)
・testserverBは正常に稼動中。タスク実行時間のイベントログエラー警告一切なし。
・testA testBともテストサーバではありますが、別の誰か何かを操作したり、操作中という事は皆無とお考え下さい。
失敗の原因がつかめず困っています。どういった視点から調査をすればいいのか、またどこが怪しいのかをご指摘頂きたくお願い致します。
特にlog.logが空白で、タイムスタンプだけは実行した時間に更新されているというのが一番よくわかりません。
以上どうぞよろしくお願い致します。2010年3月5日 4:50
回答
-
ネットワークドライブのマウントのタイミングかもしれませんね。UNC(\\servername\sharename)形式で指定するとか、コピーにリソースキットのrobocopyを使ってみるというのはどうでしょう?robocopyだとコピー実行時にログが出るので、もう少し詳細な状況が分かるかも知れません。
あと、該当時間のイベントログに何か出ていませんでしょうか?
Thanks, K.Kamegawa (http://d.hatena.ne.jp/kkamegawa/)- 回答としてマーク 三沢健二 2010年3月19日 8:34
2010年3月6日 8:11 -
チャブーンです。
この件ですが、一応したのような調査は行なわれている、という前提でお話しします。
Windows XP および Windows Server 2003 におけるスケジュールされたタスクのトラブルシューティング
まず、「実際のバッチファイルのエラーメッセージ」を確認するのが重要です。エラーメッセージは [コマンド] 2> [出力ログ] というリダイレクトを行なわないと、記録されないですよ。標準出力といっしょに記載したい、というなら、
[コマンド] > [出力ファイル] 2>&1
としておくと、標準出力とエラー出力の両方が記録できるはずです。これで、ある程度の切り分けはできるのではないでしょうか?- 回答としてマーク 三沢健二 2010年3月19日 8:34
2010年3月7日 18:30
すべての返信
-
ネットワークドライブのマウントのタイミングかもしれませんね。UNC(\\servername\sharename)形式で指定するとか、コピーにリソースキットのrobocopyを使ってみるというのはどうでしょう?robocopyだとコピー実行時にログが出るので、もう少し詳細な状況が分かるかも知れません。
あと、該当時間のイベントログに何か出ていませんでしょうか?
Thanks, K.Kamegawa (http://d.hatena.ne.jp/kkamegawa/)- 回答としてマーク 三沢健二 2010年3月19日 8:34
2010年3月6日 8:11 -
チャブーンです。
この件ですが、一応したのような調査は行なわれている、という前提でお話しします。
Windows XP および Windows Server 2003 におけるスケジュールされたタスクのトラブルシューティング
まず、「実際のバッチファイルのエラーメッセージ」を確認するのが重要です。エラーメッセージは [コマンド] 2> [出力ログ] というリダイレクトを行なわないと、記録されないですよ。標準出力といっしょに記載したい、というなら、
[コマンド] > [出力ファイル] 2>&1
としておくと、標準出力とエラー出力の両方が記録できるはずです。これで、ある程度の切り分けはできるのではないでしょうか?- 回答としてマーク 三沢健二 2010年3月19日 8:34
2010年3月7日 18:30