7z를 사용하여 파이프를 통해 압축하는 방법?


16

백업을 안전하게 생성하기 위해 이것을 사용하고 있습니다 (?-정말 안전합니까? 좋은 암호로)?

# ENCRYPT
ORIGDIR="DIRECTORYNAMEHERE"; tar cvf - "${ORIGDIR}/" 2>/dev/null | gzip -9 - 2>/dev/null | openssl aes-256-cbc -salt -out "${ORIGDIR}.tar.gz.aes"

# DECRYPT
openssl aes-256-cbc -d -salt -in "ENCDIRECTORYNAMEHERE" | tar -xz -f -

Q : 그러나 최대 압축률로 7z를 사용하여이 작업을 수행하려면 어떻게해야합니까?

유일한 OUTPUT 파일 외에 임시 파일을 만드는 것은 좋지 않습니다 .180GB FS에서 ~ 100GB 크기의 파일 / 디렉토리를 압축해야하는 경우 충분한 여유 공간이 없을 것입니다 (예 : 압축 파일의 경우 ~ 60이 소요됨) GByte).

답변:


6

7z특별히 사용하려는 이유가 있습니까 , 아니면보다 나은 압축을 원 gzip하십니까?

xz유틸리티는 7z(LZMA) 와 동일한 압축 알고리즘을 사용하며와 동일한 파이프 압축을 허용 gzip합니다.

tar cvf ... | xz -9 | openssl ...

내가 개인적으로 특별히 7z를 필요로 한 이유는 여러 볼륨으로 분할하는 능력입니다.
Unirgy

1
xz는 당시 멀티 스레딩이 아니 었으므로 (아직 아닐 수도 있음) 멀티 코어 컴퓨터에서는 7z보다 훨씬 느릴 수 있습니다.
Xen2050

25

이것은 7z의 맨 페이지에서 다룹니다.

-si    Read data from StdIn (eg: tar cf - directory | 7z a -si directory.tar.7z)

"|"를 넣을 수 있습니까 7z 이후에 추가 처리합니까?
gasko peter

4
-so파일 대신 stdout에서 압축 된 데이터를 덤프하는 데 사용할 수 있습니다 .
Wieland

1

모든 홈 스크립트의 원격 백업 준비 파일을 빠르게 만들려면 다음을 사용합니다.

# Scripts backup
ls ~/*.sh | cpio -ov | 7z a -si ~/Documents/SCRIPT_BACKUP_30062017.cpio.7z
# Scripts restore
7z x -so ~/Documents/SCRIPT_BACKUP_30062017.cpio.7z | cpio -iv   

'홈'루트를 백업하지 않는 이유는 특별히 일부 디렉토리 만 동기화하고 전송하기 때문입니다. cpio가 복원시 새로운 기존 파일을 건너 뛰고 확인하는 방법에 주목하십시오. 이것은 강력합니다. 작업 내용을 덮어 쓰지 않습니다.

싹@


-1

postgres pgdumpall를 7zip 파일 로 작동 시킵니다. set pgpassword=xxxxx명령을 실행하기 전에 사용하십시오 .

pg_dumpall -U postgres | c:\"program files"\7-Zip\7z.exe a -si e:\directory\output.file.sqlc

덤프 및 압축하는 데 4 일이 걸렸습니다! 50201104790 바이트 (47GB)

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