AIX의 파일을 FS에서 다른 FS로 복사하는 방법은 무엇입니까?

AIX의 파일을 FS에서 다른 FS로 복사하는 방법은 무엇입니까?

파일 시스템이 있습니다: /foo

그리고 또 다른 파일 시스템이 있습니다: /bar

큐:/foo에서 /bar로 모든 파일을 복사하려면 어떻게 해야 합니까?

압축할 공간은 없고 복사만 할 수 있습니다. 그러나 파일 시스템에는 심볼릭 링크, 하드링크가 있을 수 있습니다. 따라서 이러한 파일과 소유자, 권한, 구조, 숨겨진 파일을 보존해야 합니다! 가장 좋은 방법은 무엇입니까?

추가: 이상한 문자가 포함된 파일 또는 블록/문자 파일도 포함

업데이트: 이것에 gzip을 사용할 수 있나요? 네트워크를 통해 복사해야 하는 경우 압축이 매우 유용합니다.

답변1

루이의 코멘트거의 충분합니다. 그러면 숨겨진 파일을 포함한 모든 것이 복사됩니다.

cd /foo; tar cpf - . | (cd /bar; tar xpvf -)

(로 실행 root).

두 프로세스 간에 복사된 데이터를 압축하려면 tar파이프라인에 압축기와 압축 해제기를 추가하면 됩니다.

cd /foo; tar cpf - . | gzip -9 | (cd /bar; gunzip | tar xpvf -)

의 버전이 tar이를 지원하는 경우 대신 플래그를 사용할 수 있습니다 z.

cd /foo; tar cpzf - . | (cd /bar; tar xpzvf -)

( 일부 플랫폼에서는 -p플래그가 기본적으로 활성화되어 있지만 rootAIX에 대해서는 잘 모르겠습니다.)

답변2

Tar는 매우 다재다능하지만 inode 데이터와 관련된 많은 기본 문제에 대해 알지 못합니다. 나는 다음의 변형을 적극 권장합니다.

cd $src; find . | backup -if - | (cd $target; restore -xqf -)

몇 년 전에 나는 이것을 '예쁜 스크립트'로 작업했지만 주로 명령줄에서 위의 내용을 사용합니다.

예쁜 스크립트(2009년부터! eeks!)는 다음을 참조하세요.http://www.rootvg.net/content/view/301/309/

관련 정보