Ed_S
(Ed S)
11월 16, 2022, 12:38오후
1
The backup process creates a tar file and then applies gzip to it. There are two types of things in the tar file: an already gzipped sql dump and the contents of uploads (if requested.) In my case every upload file is already compressed: gz, gzip, gif, jpeg, png, zip. So the final gzipping gains only 1% of size.
I believe it would be better to demand less free space.
A previous topic from 2016 mentions disabling backup compression, but it looks like the sql dump was at that time not compressed, which shifted the tradeoffs.
Add option to disable backup compression
12개의 좋아요
gerhard
(Gerhard Schlager)
11월 17, 2022, 2:50오후
2
I’m already working on a new backup format that removes the double compression. My hope is that it will be ready within a month or two.
14개의 좋아요
tumbano
(Alberto)
4월 20, 2023, 7:52오전
4
Any update on this? Thanks
1개의 좋아요
Ed_S
(Ed S)
10월 4, 2023, 9:11오전
5
Not to bug you too much, but how is this progressing?
gerhard
(Gerhard Schlager)
10월 4, 2023, 9:22오전
6
Development of that feature is currently paused and it isn’t on our current roadmap. I hope we will get to it in 2024.
5개의 좋아요
Isambard
(Isambard)
8월 30, 2024, 6:44오후
7
압축률에 0을 허용하여 gzip을 비활성화하는 패치를 작성한다면, 그 패치를 받아들이실 수 있을까요?
1개의 좋아요
Ed_S
(Ed S)
8월 30, 2024, 7:00오후
8
(그렇게 하면 CPU 시간을 절약할 수 있을 것 같지만, 공간은 절약되지 않을 것 같습니다. 압축된 tar 파일이 여전히 생성되니까요.)
Isambard
(Isambard)
8월 30, 2024, 7:08오후
9
CPU 시간을 절약하는 것이 목표입니다. 사실, 0을 플래그로 사용하여 코드 경로를 변경하고 gzip 압축을 하지 않으려 하고 있습니다. (아쉽게도 제 지식 범위 내에서 0은 모든 gzip 버전에서 지원되는 유효한 압축 레벨이 아닙니다.)
Ed_S
(Ed S)
8월 30, 2024, 8:02오후
10
음, 그건 내게 전혀 도움이 안 되겠네요! (제한된 디스크 공간으로 인해 동일한 문제를 겪은 다른 사용자들도 마찬가지일 것입니다.)
tar를 사용했다면, z 또는 j 옵션과 함께 사용할 수 있었을 것입니다. 서브셸을 사용했다면, tar의 출력을 gzip으로 파이프할 수 있었을 것입니다. 하지만 실제로는 더 높은 수준의 ruby 함수가 사용되고 있는 것 같습니다.
1개의 좋아요
Ed_S
(Ed S)
8월 31, 2024, 7:27오전
12
너무 어렵지 않을 것 같은데… 백업과 복원 기능에 대한 변경은 매우 신중하게 이루어져야 한다는 점에는 공감하지만, 압축을 인라인으로 처리하는 것만으로도 호환성 문제는 전혀 없이 공간 요구량을 크게 줄일 수 있다고 생각합니다.
tar --help
-a, --auto-compress 아카이브 접미사를 기반으로 압축을 결정합니다.
-z, --gzip, --gunzip, --ungzip 아카이브를 gzip로 필터링합니다.
1개의 좋아요
Isambard
(Isambard)
9월 1, 2024, 10:49오후
13
-z 옵션이 실제로 인플레이스(in-place) 압축을 수행하나요? 저는 항상 tar 파일이 완성된 후에 gzip가 실행된다고 생각했습니다.
Ed_S
(Ed S)
9월 2, 2024, 8:34오전
14
Isambard:
나는 항상 …라고 생각했었는데…
이 경우에는 그 판단이 잘못된 것이었습니다! 압축이 풀린 tar 파일을 나타내는 바이트들은 디스크에 저장되지 않았습니다.
2개의 좋아요
Ed_S:
–gzip
"--gzip",
를 단순히 추가하면 실제로 사용된 데이터 공간의 두 배를 요구하지 않게 된다는 뜻인가요?
1개의 좋아요
Ed_S
(Ed S)
4월 23, 2026, 4:58오후
17
더 나은 선택지는 --zstd인 것 같지만, 그렇게 하려면 docker 이미지에도 ‘zstd’ 패키지를 설치해야 합니다.
3개의 좋아요
Ed_S
(Ed S)
4월 23, 2026, 8:58오후
18
기존 백업 파일이 *.gz 또는 *.zst 형식일 수 있다는 점을 고려할 때, 더 나은 접근 방식은 tar의 자동 감지 기능을 활용하는 것입니다.
tar --auto-compress -c -f ../file.tar.gz .
tar --auto-compress -c -f ../file.tar.zst .
물론 압축 해제 시에는 어떤 형식의 파일이 나타날지 알 수 없으므로 이 기능이 더욱 중요합니다.
현재 ruby 코드는 tar 자체가 처리할 수 있는 많은 작업을 수행하고 있습니다. 복잡해지기보다는 이 부분이 단순화되기를 바랍니다.
3개의 좋아요
Ed_S
(Ed S)
4월 24, 2026, 6:34오후
19
zstd는 압축 속도가 훨씬 빠릅니다. 이로 인해 압축이 거의 불가능한 데이터를 압축하는 데 시간을 쓰는 것이 덜 문제됩니다.
(zstd가 sql 덤프에도 사용된다면, 제 경우 10% 더 작아집니다.)
3개의 좋아요
CT075
(Cameron Wong)
7월 7, 2026, 5:29오후
20
안녕하세요, 이 문제에 대해 새로운 소식이 있나요? 이 답변 을 보면, 이 문제가 1년 넘게 한 줄로 수정 가능한 것으로 알려져 있는 것 같습니다. 서버에 거의 30G의 여유 공간이 있음에도 불구하고 계속 backup failed DM을 받는 것은 꽤 답답한 상황입니다.
CLA 서명 시 물리적 우편 주소를 입력해야 하지 않는다면, 제가 직접 PR을 만들었을 것입니다.
3개의 좋아요