バックアップ直前にアプリケーションを停止)DiscordやSlackに通知これ全部できます。導入1.まずはPowerShellのシンタックスハイライトが機能するテキストエディタをインストールしておきましょう。オススメはVSCodeです。Coreをインストールします。PowerShellは古いので動作しません。docs.microsoft.comdocs.microsoft.com3.GitHubからスクリプトをダウンロードします。github.com4.スクリプト内の#ユーザ設定を編集します。スクリプト内の設定例と照らし合わせつつ行うと良いでしょう。pwshを実行するオペレーティングシステムを指定します。rsyncが使用されます。Windowsでは関数ConvertTo-WslPathによってWindowsからLinuxのフォーマットにパスが変換されます。ディレクトリの日付ではなく、ディレクトリ名によって世代管理を行うため、わからない場合は変更しないでください。ログを出力するディレクトリを指定します。OSに合わせたパスのフォーマットにしてください。ログローテートの閾値を設定します。EndScript設定1の内容は設定2の中で使用可能($Settings.DateTime等)前処理、後処理ではPowerShellのコマンドレット以外に以下の独自の関数が使用可能です。コピー元のパスを指定します。コピー元の中から除外または含める条件を指定します。コピー先のパスを指定します。リモートバックアップ時はSSHに関する引数を指定します。このディレクトリのバックアップの直前に実行されるカスタム処理を追加できます(ScriptBlock)。このディレクトリのバックアップの直後に実行されるカスタム処理を追加できます(ScriptBlock)。コピー元のパスを指定します。コピー元の中から除外または含める条件を指定します。世代管理先の親ディレクトリのパスを指定します。同じDstParentPathの最初*に世代数の閾値を指定します。同じDstParentPathの最初に世代管理先の親ディレクトリと同等の場所に除外すべきディレクトリがある場合はここで指定します。世代管理先に作られるディレクトリを指定します。このディレクトリのバックアップの直前に実行されるカスタム処理を追加できます(ScriptBlock)。このディレクトリのバックアップの直後に実行されるカスタム処理を追加できます(ScriptBlock)。5.#WSLのWindows上のファイルアクセス権の通り、wsl.confを編集します。/home/minecraft/Servers/AutoBackupWSL.ps1解説なぜrobocopy・scpではなくrsyncなのかrobocopyはインクリメンタルバックアップに対応していない。差分コピーは出来るが、コピー元・コピー先以外のディレクトリを参照してインクリメントバックアップを行うことは出来ない。4TBのHDDに、1世代数百GBを数ヶ月分世代管理できるのはrsyncあってのもの。実はrobocopyで擬似的にそれを再現した未公開のスクリプトがあるのだが...rsyncの方が上位互換であり存在意義が無くなってしまった。scpは差分コピーに対応していない。毎回フルバックアップ、というのはちょっと。rsyncをWindowsのバックアップに使えるようにしたのがAutoBackupWSL.ps1。CoreはUTF-8。Windowsにおける文字列恐怖症の貴方なら分かってくれるはず。