
디스크 간에 많은 양의 파일을 복사하고 있습니다. 약 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)를 사용하여 진행 상황을 확인할 수 있습니다.