LInux의 데이터를 청크 단위로 나누거나 시간을 나누는 방법은 무엇입니까?


1

PCB 보드가 불량한 하드 드라이브가 있습니다. 로드가 많지 않은 경우 계속 켜져 있으며 너무 많은 데이터를 복사하면 다시 시작됩니다. 지금까지 하나의 폴더를 좋은 하드 드라이브에 복사하고 5 분 동안 기다린 후 다른 폴더를 복사하면 500MB 미만의 폴더를 작성하는 데 행운이 있습니다.

불량 드라이브를 마운트하고 몇 GB 크기의 폴더를 복사하려고 시도하면 하드 드라이브가 다시 시작되면서 시작되고 중지됩니다. 드라이브를 다시 마운트하려고하면 Linux가 수퍼 블록을 읽을 수 없다고 말합니다. 여러 폴더에 30GB가 넘는 데이터가있는 여러 폴더가 있습니다.

내가 찾고있는 것은 Linux에서 폴더를 복사하여 명령이 전체 폴더를 청크로 묶어 시간 간격을 두는 방법입니다.

답변:


3

얼마 후 복사 프로세스를 중지 할 수 있습니다.

cp -R srcdir destdir &
sleep 10
kill -STOP $PID_OF_CP
sleep 10
kill -CONT $PID_OF_CP

2

전송 속도가 느리면 (즉, 일시 중지는 없지만 데이터 속도는 낮음) 제대로 작동 할 것입니다. tar명령은 하나 개의 데이터 스트림으로 모든 파일을 포장하고, pv명령은 해당 스트림의 데이터 전송 속도를 제한한다.

tar cf - <source> | pv --rate-limit 1m | (cd <destination> && tar xf -)

나는 이것을 직접 테스트하지 않았으므로 구문이 약간 어려울 수 있습니다.


-1

먼저 최대 gzip 압축을 사용하여 전송 될 파일 무게를 최소화 한 다음 시간 종료 옵션으로 tarball을 재 동기화 할 수 있습니다. 또한 멋진 디스크가 페이드 아웃되는 경우 rsync를 다시 실행할 수 있습니다. Rsync는 두 위치의 파일을보고 차이를 복사합니다. 동기화가 중단 된 시점부터 복사가 계속됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.