이 예제는 PowerShell을 사용하여 특정 폴더의 파일을 자동으로 백업하고, 필요에 따라 복원하는 스크립트를 만드는 방법을 보여줍니다. 이 스크립트는 사용자 입력 (원본 경로, 대상 경로, 백업 주기)을 받아 실행되며, 에러 처리를 통해 안정적인 작동을 보장합니다.
## 목적
PowerShell을 사용하여 파일 백업 및 복원을 자동화하고 관리하는 스크립트를 구축하는 방법을 배우는 것입니다. 이 예제는 기본적인 백업/복원 기능 뿐만 아니라 사용자 정의 설정과 에러 핸들링을 포함하여 실제 환경에서 사용될 수 있도록 설계되었습니다.
## 사용 시나리오
이 스크립트는 다음과 같은 상황에 유용합니다:
* 서버의 중요한 파일을 정기적으로 백업하고 관리해야 하는 경우
* 데이터 손실 위험으로부터 데이터를 보호하기 위해 자동 백업 시스템을 구축하는 경우
* 백업된 데이터를 빠르게 복원하여 비즈니스 연속성을 유지하는 경우
## 결과
사용자가 지정한 폴더의 파일을 자동으로 백업하고, 에러 발생 시 알림을 제공합니다. 또한, 스크립트를 수정하여 백업 주기를 변경하거나 대상 저장소를 변경할 수 있습니다.
💙 파일 백업 및 복원 스크립트: PowerShell 활용
PowerShell 예제
초급
난이도
예제
타입
10/12
등록일
파일 백업 및 복원 스크립트: PowerShell 활용
초급코드 예제
#!/bin/bash
# PowerShell 스크립트: 파일 백업 및 복원
# 변수 정의
$SourcePath = Read-Host "원본 폴더 경로를 입력하세요" # 백업할 폴더 경로
$DestinationPath = Read-Host "대상 폴더 경로를 입력하세요" # 파일을 저장할 폴더 경로
$BackupInterval = Read-Host "백업 간격을 시간 단위로 입력하세요 (예: 3600 - 1시간)" # 백업 주기 (초)
# 에러 처리
if (!(Test-Path -Path $SourcePath)) {
Write-Error "원본 폴더가 존재하지 않습니다."
exit
}
if (!(Test-Path -Path $DestinationPath)) {
Write-Host "대상 폴더가 존재하지 않으므로 생성합니다."
New-Item -ItemType Directory -Path $DestinationPath
}
# 백업 함수
def BackupFiles(
$Source, # 원본 폴더 경로
$Destination # 대상 폴더 경로
)
{
try
{
Get-ChildItem -Path $Source -File | ForEach-Object {
$DestFilePath = Join-Path -Path $Destination -ChildPath ($_.Name)
Copy-Item -Path $_.FullName -Destination $DestFilePath -Force # 파일 복사
Write-Host "파일 '$($_.Name)'을 '$Destination'으로 복사했습니다."
}
} catch
{
Write-Error "파일 복사 중 오류 발생: $($Error.Exception.Message)"
}
}
# 백업 실행
BackupFiles -Source $SourcePath -Destination $DestinationPath
# 백업 주기 설정 (예: 3600초 = 1시간)
a Sleep $BackupInterval # 일정 시간 간격으로 백업을 재실행합니다.
# 복원 기능 추가 (간단한 예시, 실제 사용 시에는 더 많은 에러 처리 및 검증이 필요함)
# function RestoreFiles {
# // ... 복원 로직 구현
# }
등록일: 2025년 10월 12일 19:32
언어 정보
언어
PowerShell
카테고리
Microsoft
인기도
#21
학습 팁
코드를 직접 실행해보세요
변수를 바꿔가며 실험해보세요
오류가 나도 포기하지 마세요
다른 예제도 찾아보세요