다음 단계를 수행하는 Powershell 스크립트를 작성했습니다. 외부 하드 드라이브로 서버에서Powershell robocopy/mir/mir가 삭제하기 전에 파일 복사
- 그것은 RoboCopies 파일 (증분 백업)가 어떤 파일이 서버에서 삭제 된 경우 너무로 백업 폴더에서 해당 파일을 이동하는 경우, 확인하도록되어
- 다음에 백업 하드 드라이브에 _DeletedFiles라는 폴더가 있습니다.
- ROBOCOPY/MIR은 (백업에 또한 서버에서 삭제 된 파일을 삭제하고 난 _DeletedFiles 폴더에 이미 저장된 때문 괜찮아 것이다)이의
포인트 _DeletedFiles 폴더가 있다는 것입니다 함께 누군가가 파일을 지우더라도 적어도 60 일 동안 어딘가에 보관하고 싶습니다. 내가 삭제 된 파일을 복사 할 경우 문 등
모든 단계를 제외하고 작동하는 것 같다 경우
지금이 스크립트는 조금 더, 로그 파일을 작성하는 경로 테스트를 포함하여 복잡하고 처음 실행입니다 BackUp에서 새 폴더로 이동합니다.이 단계는이 유사하게 나타납니다
$testfolder = Test-Path "$UsbDisk\$backupFolder"
# If a Backup folder already exist then Compare files and see if any changes have been made
if ($testfolder -eq $true) { #IF_2
# Copy deleted files to BackUp Folder
MyLog "Check for Deleted Files on E:\" 0
$source = "E:\"
$sourcelist = Get-ChildItem $source -Recurse
$destination = "$UsbDisk\$backupFolder\Data_01\_DeletedFiles"
foreach ($file in $sourcelist){
$result = test-path -path "E:\*" -include $file
if ($result -like "False"){
Copy-Item $file -Destination "$destination"
}
}
# Start Synchronizing E:\
MyLog "Start Synchronizing E:\" 0
Robocopy "E:\" "$UsbDisk\$backupFolder\Data_01" /mir /r:2 /w:3 /M /XD VM_*
MyLog "E:\ is up to Date" 0
# Copy deleted files to BackUp Folder
MyLog "Check for Deleted Files on F:\" 0
$source = "F:\"
$sourcelist = Get-ChildItem $source -Recurse
$destination = "$UsbDisk\$backupFolder\Data_02\_DeletedFiles"
foreach ($file in $sourcelist){
$result = test-path -path "F:\*" -include $file
if ($result -like "False"){
Copy-Item $file -Destination "$destination"
# Then Delete it from the BackUp
}
}
# Start Synchronizing F:\
MyLog "Start Synchronizing F:\" 0
Robocopy "F:\" "$UsbDisk\$backupFolder\Data_02" /mir /r:2 /w:3 /M /XD VM_*
MyLog "F:\ is up to Date" 0
}
나는 그들이 목적지에 존재하지 않기 때문에 파일을 복사 할 수 없음을 얻을 오류; 그러나, 그것은 처음부터 복사해서는 안되는 파일을 복사하려고합니다.
누구나이 문제를 좀 더 세련되게 해결할 생각이 있거나 내 코드를 수정하는 방법이 궁금합니다.
덕분에 해결책에 한발 더 다가갔습니다. 내일 업데이트 된 코드를 올릴 것입니다. – seN
나는 더 일반적으로 질문을 할 것이다. 지금까지 이것이 가장 좋은 대답이었다. – seN