Backup WSL2 Folder Projects to Windows Drive & Window Task Scheduler Backup
Simple Method 2025:
Tạo folder ở một ổ đĩa để backup: ví dụ: E:/backup_wsl
tạo 2 file bat và vbs:
auto-backup.bat
@echo off
setlocal enabledelayedexpansion
:: Get the current date
for /f "tokens=2 delims==" %%i in ('"wmic os get localdatetime /value"') do set datetime=%%i
:: Extract year and month
set year=!datetime:~0,4!
set month=!datetime:~4,2!
:: Set the backup file name
set backupFile=E:\backup_wsl\ubuntu-%year%-%month%.vhdx
:: Run the WSL export command
wsl --export Ubuntu-22.04 !backupFile! --vhd
echo Backup completed: !backupFile!
auto-backup.vbs
Dim WinScriptHost
Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run Chr(34) & "E:\backup_wsl\auto-backup.bat" & Chr(34), 0
Set WinScriptHost = Nothing
Nhấn Start trên keyboard và search Task Scheduler
Tạo một task để theo thời gian và option mong muốn trỏ tới action mở file auto-backup.vbs như hình
sau khi ok hết thì thử run task xem có chạy backup ko? Done.
Simple Method 2024:
robocopy /mir \\wsl.localhost\Ubuntu-22.04\home\son\ F:\backups\son\
Window Task Scheduler Method:
backup_kyluat.bat
net use o: \\wsl.localhost\Ubuntu-22.04
robocopy /mir o:\home\son\kyluat F:\backups\son\kyluat /R:1 /W:5 /NP /V /XD node_modules /XD "mongo" /XD "redis" /XD "postgres" /XD dist
net use o: /delete
File này để chạy robocopy và copy vào ổ đĩa physical từ network drive
backup_kyluat.vbs
Dim WinScriptHost
Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run Chr(34) & "F:\backups\backup_kyluat.bat" & Chr(34), 0
Set WinScriptHost = Nothing
File này để cho Window Task chạy ngầm,... đỡ phải hiện ra popup window
Tạo trigger action trên window task để mở file backup_kyluat.vbs theo thời gian muốn chạy backup.
No Comments