treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

LTSC2019のタスクスケジューラでBunBackupが思ったように動作しない

タスクスケジューラは便利。
しかし、LTSB2016まで動作していたタスクスケジューラの設定はLTSC2019で同一設定を実施しても正常動作しないことがあったのでご報告です。

対象の環境

Windows 10 LTSC(2019)もしくはWindows Server 2019をOSとした環境でBunBackupを利用してファイルバックアップを取得している環境が対象です。以下これらのOSはLTSC2019と表記します。
ファイルのバックアップにBunBackupを使って収集したバックアップデータを管理しているため、タスクスケジューラでBunBackupを起動して自動的にバックアップを取得するのに利用しています。(※タスクスケジューラ画面はイメージで実際のタスク画面ではありません。)

f:id:treedown:20200915185633p:plain

構成としては、こんな感じ。

f:id:treedown:20200915184927p:plain
発端はバックアップを実行しているノード(元々はLTSC2016)が故障してしまい起動しなくなったため、LTSC2019のWindowsで再構築したのが始まりでした。
LTSC2016環境でバックアップしてあったタスクスケジューラの設定ファイル(.xmlファイル)や、BunBackupの.lbkファイルをLTSC2019環境に展開してインポートするなどして環境を復活させたのですが、タスクスケジューラ経由でBunBackupを自動起動してバックアップを実行していた環境が動作しなくなっていました。

試行錯誤が多すぎてすべてを書き切れません(と、いうより覚えていない…)ので、簡単に発端と結論を。

結論:LTSC2019のタスクスケジューラではBunBackupは動作しない

正確には"ログオフ状態のWindowsでは、タスクスケジューラで設定したスケジュールでBunBackupは自動的にバックアップを取得しない"です。

何らかのユーザ(確認したのはタスクを実行するユーザ)がログイン状態であれば、タスクスケジューラで設定したスケジュール通りにBunBackupが自動的に起動してバックアップの処理を実行し完了してくれます。

しかし、これがログオフ状態である場合、タスクスケジューラで設定したBunBackupは動作せず、そのまま実行待機状態でバックアップは動作しない、という状況に陥ってしまいました。

例えばExcelなどのOfficeファイル操作でよくある話のフォルダ作成をしてもダメでした。
32bitOS: %SystemRoot%\System32\config\systemprofile\Desktop
64bitOS: %SystemRoot%\SysWOW64\config\systemprofile\Desktop

他のバッチファイルのタスクやNTP絡みのフリーソフトは期待通りタスクスケジューラで正常に実行されていることを考えるとBunBackupとLTSC2019の組み合わせの問題という結論に至りました。

解決策は、ない…。

代替案:別のWindows10からBunBackupを動作させる

そこで、解決策を諦めて回避策へ。
LTSC2016で動作していたのは間違いないので、別のLTSC2016環境でBunBackupをタスクスケジューラ経由で起動するように変更。
LTSC2019で用意したバックアップ保管先のノードはファイルサーバ的に共有フォルダを用意し、ここにバックアップデータを保管するように設定し直します。

f:id:treedown:20200915184907p:plain
LTSC2016環境から、ファイルサーバの共有フォルダを参照したBunBackupの.lbkファイル、このバックアップの保管先は(従来ローカルフォルダだったものを)共有フォルダとなったLTSC2019のディスク(バックアップの保管先ディスク)を指定するように構成変更。

つまり、共有フォルダから共有フォルダへのファイルコピーのようなバックアップをBunBackupにやってもらうことによって、従来のファイルサーバ&バックアップコンピュータ間のバックアップ処理を、一台噛ませてバックアップの実行用コンピュータでコントロールするようにした、という構成です。バックアップを長期間止めるわけにもいかないのでなんとかこれで妥協。

なんか複雑になってしまいましたが、LTSC2019ではタスクスケジューラ経由でBunBackupが起動しないのでやむを得ない、たぶんLTSC2019の問題なんじゃないかと思うのですが…。

追記:2020-11-06

去る11月3日、公式に(作者様のブログで)事象が公開されていました。

nagatsuki.cocolog-nifty.com

幾つかの回避策が提示されています。中でもBunBackupのバージョンをVer.5以下にすれば動作する、あるいはOSの互換モードでexe実行の機能を使って互換モードを「Windows7」と指定して実行させると動作する、という二つの選択肢は、なかなか助かります。

どっちか今度試してみようと思いました。

バージョンの入れ替えよりOSの互換モードをBunBackup実行ファイルに設定するほうが作業自体は容易だなぁと思う一方で、互換モードでexe実行はWindows10環境をMSがしょっちゅうしょっちゅう変更してくれますんで、(まだ見ぬWindows10動作不具合によって)ある日動かなくなるなんてことがあるかなぁと。

そうなると、バージョンをVer.5以下のBunBackupを使う方がイイのかなぁと思ったり。ちょっと迷う感じがします。

追記:2020-11-19

試してみました。

blog.treedown.net

「バージョンをVer.5以下のBunBackupを使う」が試した環境では回避策になるようです。