Windows 7 에는 MinGW ( 'Git Bash' 라고도 함 )와 rlinux를 실행하여 원격 Linux 컴퓨터의 외부 드라이브에 파일을 백업하는 배치 파일이 있습니다. 배치 파일은 다음과 같습니다 ( my_rsync_file.bat
).
REM Changing directory... (assuming we are in G:/My Documents/My Various Things)
cd ../
REM starting rsync...
bash -c "rsync -avzh -P --stats --timeout=60 --exclude Downloads . 'my_remote_linux_computer@128.95.170.200:/media/my_remote_linux_computer/LaCie/My\ Documents'"
다음은 약간의 라인 별 설명입니다.
REM Changing directory... (assuming we are in G:/My Documents/My Various Things)
이것은 단지 무슨 일이 일어나고 있는지 알려주는 메시지를 보냅니다.
cd ../
이것은 배치 파일이있는 위치에서 '내 문서'로 디렉토리를 한 단계 위로 변경합니다. 배치 파일이 Windows 컴퓨터의 외장 드라이브에 있습니다. 이 외부 드라이브의 모든 '내 문서'폴더를 원격 Linux 컴퓨터의 외부 드라이브에있는 동일한 이름의 폴더와 동기화하고 싶습니다.
REM starting rsync...
다른 메시지 만 인쇄합니다.
bash -c "rsync -avz -P --stats --timeout=60 --exclude Downloads . my_remote_linux_computer@128.95.155.200:/media/my_remote_linux_computer/LaCie/My\\ Documents"
bash
: 내장 rsync 라이브러리가있는 MinGW를 시작합니다
-c
.이 기능을 확실하지 않습니다
rsync
: 파일을 동기화하는 라이브러리, MinGW와 함께 제공됩니다
-avzh
: a-Archive, v-Verbose, z-Compress, h-Human-readable, 공통 옵션입니다. (더보기 : http://linux.die.net/man/1/rsync )
-P
: 큰 파일의 진행률을 표시하여 고정 여부를 알 수 있습니다
--stats
. 끝에 전송 된 파일 및 바이트 수의 요약을 표시합니다
--timeout=60
. 60 초가
--exclude
동기화에서 파일 / 디렉토리를 생략하면이 경우 'Downloads'라는 디렉토리를 제외합니다
.
. 'My Documents'의 모든 컨텐츠를 동기화 함을 나타냅니다 (위의 행에서 지정된 것이 제외됨)
my_remote_linux_computer
. name 내 원격 리눅스 컴퓨터 (실제 이름이 아님)
@128.95.155.200
: 내 원격 리눅스 컴퓨터의 IP 주소, https://www.whatismyip.com/ (내 실제 IP 주소가 아님)
/media/my_remote_linux_computer/LaCie/My\\ Documents
: 파일을 수신하려는 원격 리눅스 컴퓨터의 디렉토리 경로. 외장 드라이브입니다.
"내 문서"의 공백은 두 개의 백 슬래시로 이스케이프되며 원격 대상의 전체 이름과 디렉토리는 큰 따옴표로 묶습니다.
bat 파일을 두 번 클릭하면 원격 Linux 컴퓨터의 암호를 묻는 메시지가 나타납니다. 완료되면 요약 출력이 표시되고 아무 키나 눌러 닫으라는 메시지가 표시됩니다.
-c
bash man 의 매개 변수 설명 : -c 옵션이 있으면 문자열에서 명령을 읽습니다. 문자열 뒤에 인수가 있으면 $ 0부터 위치 매개 변수에 지정됩니다.