관리자가 서버에서 컴퓨터로 백업을 정기적으로 다운로드하기 위한 PowerShell 스크립트

좋은 지적이네요, 스크립트 감사합니다. rsync 버전을 공유해 보겠습니다. :slight_smile:

아래 예시에서는 sql과 첨부파일을 각각 별도로 동기화합니다. 첨부파일을 백업 파일에 포함할 필요가 없으며, 이전 백업을 삭제할 필요도 없습니다.

저는 cwrsync를 설치하기 위해 Chocolatey를 사용합니다. 설치 후에는 cmd 파일 끝에 몇 줄을 추가하고 스케줄을 생성하기만 하면 됩니다:

C:\ProgramData\chocolatey\lib\rsync\tools\cwrsync.cmd

예를 들어:

rsync -rvm --delete --ignore-errors --ignore-existing --size-only --chmod=ugo=rwX -e "ssh -i /cygdrive/c/Users/user1/.ssh/id_rsa" login@host:/var/discourse/shared/standalone/backups/default/ /cygdrive/d/backup/forum/db/

rsync -rvm --delete --ignore-errors --ignore-existing --size-only --chmod=ugo=rwX -e "ssh -i /cygdrive/c/Users/user1/.ssh/id_rsa" login@host:/var/discourse/shared/standalone/uploads/ /cygdrive/d/backup/forum/uploads/

참고 1: C: 대신 /cygdrive/c/를 사용하십시오. 참조 및 문법을 확인하기 위해 cmd 파일을 읽어보십시오.

참고 2: ssh 키(PEM 형식) 대신 비밀번호를 사용하도록 명령을 수정할 수 있습니다.

참고 3: dump/ 폴더 뒤에 슬래시를 넣지 않으면 rsync가 폴더 자체를 복사하지만, 슬래시를 넣으면 폴더의 내용만 복사합니다.

참고 4: chocolatey가 cwrsync를 업그레이드하면 이전 cmd 파일의 백업을 같은 폴더에 생성합니다. 백업을 계속하려면 명령을 새 cmd 파일에 수동으로 복사해야 합니다.

중요: OP가 작성한 것과 동일한 규칙을 스케줄러에 설정하십시오. 스케줄러 행은 다음과 같습니다:

C:\ProgramData\chocolatey\lib\rsync\tools\cwrsync.cmd >> d:\backup\cwrsync.txt 2>&1

이는 출력을 cwrsync.txt 파일에 추가합니다. 이상입니다.

3개의 좋아요