ETA로 Linux 파일을 복사하시겠습니까?

ETA로 Linux 파일을 복사하시겠습니까?

디스크 간에 많은 양의 파일을 복사하고 있습니다. 약 16GB의 데이터가 있습니다. 진행상황도 보고 싶고, 완료 예상 시간도 보고 싶어요명령줄에서.

어떤 충고?

답변1

사용 rsync --human-readable --progress.

단일 파일 및 블록 장치의 경우 pv. 그리고 정확한 진행률 표시줄이 정말로 필요하다면 tar다음과 같이 pv와 함께 사용해 보세요.

source=/the/source/directory
target=/the/target/directory
size=$(du -sx "$source")
cd "$source"
find . xdev -depth -not -path ./lost+found -print0 \
    | tar --create --atime-preserve=system --null --files-from=- \
          --format=posix --no-recursion --sparse \
    | pv --size ${size}k \
    | { cd "$target"; \
        tar --extract --overwrite --preserve-permissions --sparse; }

그러나 GNU는 아직 ACL이나 확장 속성을 지원하지 않으므로 "acl" 또는 "xattrs" 옵션으로 마운트된 파일 시스템을 복사하는 경우 rsync(" " 및 " " 옵션 tar과 함께)를 사용해야 합니다 . 개인적으로 나는 다음을 사용합니다.--acls--xattrs

rsync --archive --inplace --hard-links --acls --xattrs --devices --specials \
    --one-file-system --8-bit-output --human-readable --progress /source /target

--delete또한 및/또는 옵션을 사용할지 여부도 살펴보세요 --numeric-ids.

답변2

대신 dd내가 제안할게pv, 예:

% tar -cf - INPUT | pv -rbe -s SIZE | tar -xf - -C DEST 

답변3

시도해 보셨나요 rsync -P? dd예를 들어 를 사용하는 경우 tar -cf - src | dd | (cd dest; tar -xf -)Ctrl-T(SIGINFO)를 사용하여 진행 상황을 확인할 수 있습니다.

관련 정보