답변:
SSH를 통해 원격 컴퓨터의 HDD A 를 로컬 컴퓨터의 HDD에있는 단일 파일 로 백업하려는 경우 다음 중 하나를 수행 할 수 있습니다.
원격 컴퓨터에서 실행
$ dd if=/dev/sda | gzip -1 - | ssh user@local dd of=image.gz
로컬 컴퓨터에서 실행
$ ssh user@remote "dd if=/dev/sda | gzip -1 -" | dd of=image.gz
$ ssh skinner "dd if=/dev/sda5 | gzip -1 -" | dd of=image.gz
208782+0 records in
208782+0 records out
106896384 bytes (107 MB) copied, 22.7608 seconds, 4.7 MB/s
116749+1 records in
116749+1 records out
59775805 bytes (60 MB) copied, 23.9154 s, 2.5 MB/s
$ ll | grep image.gz
-rw-rw-r--. 1 saml saml 59775805 May 31 01:03 image.gz
ssh
다른 터미널과 ls -l
파일을 통해 로그인하여 크기를 확인하십시오.pv
예를 들어 위의 원격 예와 같이 큰 dd 작업의 진행 상황을 모니터링하는 데 사용할 수 있습니다 .
$ dd if=/dev/sda | gzip -1 - | pv | ssh user@local dd of=image.gz
"SIGUSR1"신호를 보내면 dd
통계가 인쇄됩니다. 다음과 같은 것 :
$ pkill -USR1 dd
위에서 언급 한 모니터링 방법은 원래 @Ryan & @bladt 와 자신의 의견을 통해 남겨 졌습니다 . 나는 그들을 더 분명하게하기 위해 대답으로 옮겼습니다.
pv
로컬 컴퓨터에서 사용하는 예를 들어 줄 수 있습니까 ? 감사합니다.
status=progress
옵션이 있습니다. 따라서 pkill -USR1 dd
더 이상 다른 터미널에서 실행할 필요가 없습니다.
당신이받는 오류는 원격으로 sudo를 사용했기 때문에 발생합니다 (암호를 묻는 메시지가 있지만 입력 할 tty가 없습니다). 반면에 일반 사용자 dd
는 다른 답변에서 제안한대로 간단히 사용할 수 없습니다 (기기에 필요한 권한이 없음). dd
비밀번호없이 sudo 로 실행할 권한을 부여하여 문제를 해결할 수 있습니다 . sudoers 파일 (원격에서!)을 편집하여이를 수행 할 수 있습니다.
sudo visudo
다음 줄을 추가하십시오.
userfoo ALL=(ALL) NOPASSWD: /bin/dd if=/dev/sdX
이제 다음을 발행 할 수 있습니다.
ssh userfoo@host "sudo /bin/dd if=/dev/sdX" | dd of=test.dd
작동해야합니다. sudoers에서 더 일반적인 항목을 만들 수 있으므로 dd
모든 매개 변수 로 실행할 수 있지만이 무료 권한을 필요한 최소로 유지하는 것이 더 현명합니다.
ONE
의 하드 드라이브를 원격 컴퓨터TWO
의 저장소에 백업)에 대해 다음과 같이 시도했습니다 . <br /> [root @ ONE] # dd if = / dev / sda1 | ssh root @ TWOdd of=/root/Public/ONE/sda1.img
<br /> 409600 + 0의 409600 + 0 레코드는 209715200 바이트 (210MB)가 복사 됨, 0.894929s, 234MB / s stdin이 터미널 root @ TWO의 비밀번호가 아니므로 의사 터미널이 할당되지 않습니다. : 문제는/root/Public/ONE/sda1.img
파일이 예상대로 작동ONE
하지 않고에 생성 되었다는 것TWO
입니다. 이 문제를 어떻게 해결합니까?