困った事
作成したスクリプトを実行した所
タスクスケジューラ経由だととてつもなく実行速度が遅い事象が発生した
背景
robocopy を呼び出すスクリプトをタスクスケジューラで実施した所 12時間以上立ってもバックアップが終わらない
一方直接実行の場合、2,3時間で終了する。
調査結果
リソースモニタで動作を確認した所、直接実行/タスクスケジューラ実行の場合で
実行優先度が異なる事が分かった
タスクスケジューラから実行した場合 (I/O Priority: Low)
直接実行した場合 (I/O Priority: Normal)
犯人
Windows7の開発環境にて作成したタスクをエクスポートしサーバにインポートしたのですが
エクスポート時にバックグラウンドタスクとしての優先度 7 が設定されている事が原因のようです。
こちらのXMLを開き Priorityを 6 に変更しインポートする事で、150GBのバックアップで10時間以上掛かって終わらなかったタスクが
2時間弱で終わるようになりました。
赤枠部分がエクスポートしたタスクの末尾部分に記載されている、Priorityとなります。
謝辞
下記サイトを参考に修正しました