この記事について
タスクスケジューラーで日次ジョブを設定していましたが、ある時から実行されなくなりました。
今回は、解決に向けて色々試してみましたので、まとめます。
ちなみに実行していたジョブは、「バックアップ+シャットダウン」です。
※フリーソフトを使用
- ログの確認方法
- 確認しておくべき設定項目
① 履歴(ログ)を確認できるようにしておく
まずは、実行状況を確認できるようにしておきます。
初期設定では、タスクの履歴(ログ)が無効になっているので、有効に変更します。
① タスクスケジューラー画面右端の「すべてのタスク履歴を有効にする」をクリックします。
② これで実行結果が表示されるようになります。
② 手動で実行してみる
プログラムが正しく動いているかを「手動実行」で確認してみます。
① 該当ジョブを右クリックし「実行する」をクリックします。
その場合は、下記の方法で「実行ファイル」や「スクリプト」が正しく設定されているかを確認しましょう。
① タスクを右クリック→「プロパティ」をクリックします。
②「操作」タブをクリックし、該当プログラムをクリックします。
「編集」ボタンをクリックします。
③ 「プログラム/スクリプト」が正しく設定されていることを確認します。
③ スリープを解除
そのため、スリープモードへの移行を解除しておきます。
① 「スタートメニュー」→「設定」をクリックします。
② 「システム」をクリックします。
③ 「電源とスリープ」→スリープをなしに変更します。
④ ユーザーがログオンしているかどうかにかかわらず実行する
ここでは念のため、「ログインしていなくても実行するように」しておきます。
① タスクを右クリック→「プロパティ」をクリックします。
② 「ユーザーがログオンしているかどうかにかかわらず実行する」に変更します。
「OK」ボタンをクリックします。
⑤ 最上位の権限で実行する
そのため、どの権限でログインしていても、最上位の権限で実行されるようにしておきます
① タスクを右クリック→「プロパティ」をクリックします。
② 下記の「最上位の特権で実行する」にチェックを入れます。
「OK」ボタンをクリックします。
⑥ AC電源で使用している場合のみタスクを開始する
そのため、「AC電源に接続されていても、いなくても」実行されるようにします。
① タスクを右クリック→「プロパティ」をクリックします。
② 「条件」タブをクリックします。
「コンピュータをAC電源で使用している場合のみタスクを開始する」のチェックを外しておきます。
「OK」ボタンをクリックします。
⑦ 起動要求が無視されました。インスタンスは既に実行中です。
私の場合は、上記の対応では復旧しませんでしたので、ログを確認しました。
すると「起動要求が無視されました。インスタンスは既に実行中です。」という文言が表記されています。
もう少しログを確認すると、前日の同じタスクが「開始されたまま」になっています。
通常であれば、「タスクが完了しました」と表示されるはずですが、今回はされていません。
バックアップは問題なく取れていたので、シャットダウンだけができていなかったようです。
そこで、「前回ジョブが正常に終わらない場合でも、次回ジョブが実行される」ように設定をしておきます。
① タスクを右クリック→「プロパティ」をクリックします。
② 「設定」タブをクリック→一番下の「新しいインスタンスを開始しない」をクリックします。
「新しいインスタンスを並列で実行」に変更→「OK」ボタンをクリックします。
これにより、前回タスクが完了しなくても次回タスクが実行されるようになりました。
まとめ
私は以上の作業を行い、バックアップが取得できるようになりました。
ですが、なぜシャットダウンができないかは別途原因究明中です。
<今回のまとめ>
対応 | |
① | 履歴(ログ)を確認できるようにする |
② | 手動で実行してみる |
③ | ・ログオンしているかどうかにかかわらず実行するに変更。 ・最上位の権限で実行するに変更。 ・AC電源で使用している場合のみタスクを開始するを解除。 |
④ | 起動要求が無視されました。インスタンスは既に実行中です。 →並列実行に変更する。 |