之前同事都是固定每三個月將某台機上的檔案備份到NAS上,但因為這樣做很麻煩又容易忘記,我就寫一個簡單的Script,再用來排程來跑,以取代手動的問題。不過因為這個需求只是很小部分的人在用,所以也就不強求優化它了,不然其實還是有很多地方可以用迴圈精簡,反正目的達到就好了。
$TODAY=[datetime]::Now.Tostring('MMdd')
$MONTH=[datetime]::Now.Tostring('yyyyMM') ##這個月
$MONTH1=[datetime]::Now.AddMonths(-1).Tostring('yyyyMM') #前第一個月
$MONTH2=[datetime]::Now.AddMonths(-2).Tostring('yyyyMM') #前第二個月
$MONTH3=[datetime]::Now.AddMonths(-3).Tostring('yyyyMM') #前第三個月
if ($TODAY -match '0101' -or $TODAY -match '0401' -or $TODAY -match '0701' -or $TODAY -match '1001') ##每三個月的一號執行
{
net use z: \\原檔案的路徑 /user:用戶名稱 '密碼'
net use v: \\NAS的路徑 /user:用戶名稱 '密碼'
mkdir v:\$MONTH1
mkdir v:\$MONTH2
mkdir v:\$MONTH3
Copy-item z:\$MONTH1* -Recurse v:\$MONTH1\
Copy-item z:\$MONTH2* -Recurse v:\$MONTH2\
Copy-item z:\$MONTH3* -Recurse v:\$MONTH3\
}
沒有留言:
張貼留言