요즘에는 서버를 백업하고 싶을 때 해당 서버에 로그인한 후 아래 명령을 실행하여 로컬 디렉터리 "/ebs1"을 tars하고 IP xxx.xxx.xxx.xxx의 다른 서버로 전송하여 다음 위치에 저장합니다. 이름이 "/ebs1_2019-06-02.tar"인 백업 서버입니다.
tar -cvf - "/ebs1" | ssh -p 22 [email protected] "cat > /ebs1_2019-06-02.tar"
잘 작동합니다. 그런데 제가 위의 명령을 실행하기 위해 백업 중인 서버에 로그인되어 있는 것을 보셨나요? 그런데 백업 서버에 로그인하고 싶은 경우 위의 명령을 어떻게 변경하나요?
답변1
이 방법:
ssh [email protected] tar cf - /ebs1 >/ebs1_2019-06-02.tar
백업할 디렉터리에 공백이나 특수 문자가 포함되어 있으면 제대로 작동하지 않습니다. 이 경우 다음과 같은 명령을 사용해야 합니다.
ssh [email protected] tar cf - "'/directory name'" >/ebs1_2019-06-02.tar
...그리고 이것은 금방 불편해질 수 있습니다. 명령이 포함된 대상 컴퓨터에 스크립트를 작성 tar
하고 를 통해 실행 ssh
하면 명령줄의 모든 항목을 이스케이프할 필요가 없습니다.
그러나 디렉터리 이름에 특수 문자가 포함되어 있지 않으면 첫 번째 명령이 포함되어야 합니다.