데이터를 백업하기 위해 rdiff-backup
Ubuntu 20.10에서 (2.0.5)를 사용합니다. 데이터 양은 127GB에 불과하지만 파일 80,000개 / 폴더 17,000개(주로 소스 코드 저장소, 사진)입니다.
내가 발견한 문제는 새 파일을 추가할 때 rdiff-backup이 매우 느린 것 같다는 것입니다. 나는 그것을 보여주기 위해 bash 스크립트를 작성했습니다(아래 참조).
스크립트가 하는 일은 다음과 같습니다.
- 1000개의 빈 파일 생성
- 초기 백업 수행
- 또 다른 1000개의 빈 파일 생성
- 다른 백업 수행
초기 백업에는 약 1초가 소요되는 반면, 두 번째 백업에는 7초가 소요됩니다(자세한 결과는 아래 참조). 별로 들리지 않지만 실제 데이터를 보면 새 파일이 거의 없어 몇 시간이 걸립니다.
나를 당황하게 만드는 것은 오직 "실제" 시간만이 폭발하는 것처럼 보인다는 것입니다. rdiff-backup이 다른 프로세스에서 중단됩니까?
내부 ext4 SATA SSD에서 예제를 실행합니다.
스크립트:
#!/bin/bash
mkdir src
mkdir dest
files=1000
printf "Creating some dummy files.\n"
for (( i=1; i<=$files; i++ ))
do
touch "src/$i.txt"
done
printf "First run."
time rdiff-backup src/ dest/
printf "\n"
sleep 1
printf "Second run, nothing changed."
time rdiff-backup src/ dest/
printf "\n"
sleep 1
printf "Creating some more dummy files.\n"
for (( i=$files+1; i<=$files*2; i++ ))
do
touch "src/$i.txt"
done
printf "Third run, adding new files to backup."
time rdiff-backup src/ dest/
printf "\n"
sleep 1
printf "Forth run, nothing changed."
time rdiff-backup src/ dest/
산출:
Creating some dummy files.
First run.
real 0m1,076s
user 0m0,869s
sys 0m0,157s
Second run, nothing changed.
real 0m0,511s
user 0m0,419s
sys 0m0,037s
Creating some more dummy files.
Third run, adding new files to backup.
real 0m7,460s <--- 7 times longer!
user 0m1,374s
sys 0m0,310s
Forth run, nothing changed.
real 0m0,747s
user 0m0,645s
sys 0m0,053s