zpaq 저널링 기능 (git 같이 버전관리)이 있는 압축포맷

 신기한걸 알게된 기념으로 포스팅해본다.


https://mattmahoney.net/dc/zpaq.html


압축파일인데 버전관리기능이 있어서 1개 압축파일에 파일 추가 삭제 history를 담을 수 있어서 백업하다가 과거버전을 풀어볼 수도 있고 좋은것 같다.

큰 파일이어서 git을 쓰기 알맞지 않거나 번거로운 상황에서 쓸 수 있을것 같다.


- 압축
zpaq a .\ee.zpaq ttt.txt

.\t 폴더 안을 압축
zpaq a ee.zpaq .\t

저널링 기능이 있어서, 파일을 수정하고 add 를 하면 Ver1, Ver2, Ver3 식으로 쌓인다.
(반디집으로 열면 확인이 쉽다)

zpaq add e:\backup.zpaq c:\*

- Rollback
직전 ver에 c:\tmp 가 잘못 들어갔을때
backup 파일에 c:\를 넣는데 c:\tmp는 제외하고, 직전 버전을 삭제하고 쌓음.
zpaq add backup c:\ -not c:\tmp -until -1

-not files... Exclude. * and ? match any string or char.


특정 파일을 zpaq에서 영영 제거하고 싶으면 존재가 시작하는 ver까지 -until -2 식으로 돌아가서
존재를 없애버리고 새로 쌓아야한다.

- 파일 삭제 마킹
zapq add .\t 이런느낌으로 폴더를 추가했을때는 폴더 안에 들어있던 파일이 사라지면
662 -removed. 이렇게 remove 마킹을 한다. 반디집으로 보면 [-]t 라고 마킹되어 있다.
A deletion does not remove any data from the archive, but rather indicates that the file is not to be extracted unless the archive is rolled back to an earlier date.

ttt.txt를 지운상태에서 아래 커맨드를 실행하면
zpaq a .\ee.zpaq ttt.txt

ttt.txt가 지움으로 마킹된다.
물론 과거 ver로 가면 살아있다.






저널링 안하고 계속 새로운 파일을 (1, 2, 3, ...) 만들어서 쌓기는 바라면
zpaq add "e?" .\ttt.txt
e1.zpaq
e2.zpaq

변경점이 있으면 숫자올리면서 새 파일이 생김.

그런데 이렇게 하면서 index를 따로 보관하고 싶으면
zpaq add "e?" .\ttt.txt -index e0.zpaq
(index는 꼭 e0 로 해야하는듯. ? 했을때 파일은 1부터 생김)
(이렇게 하는 이유는 e1 e2 파일이 쭉 생기지만 한번에 history를 볼 수 없기 때문.)

zpaq l "e?" -all
zpaq x "e?" -to c:\temp -until -1
이렇게 하면, 파일이 여러개지만,
마치 하나 있은것처럼 e0.zpaq에서 index를 읽어서 처리해준다.






- 풀기
윈도우에서 unzip.exe가 필요할 수 있음.

가장 최신으로 풀기
zpaq x .\ee.zpaq

tta 폴더로 풀기
zpaq x .\ee.zpaq -to tta\

모든 버전 풀기
zpaq x .\ee.zpaq -all

3버전까지 풀기 (ver 1, 2 3이 적용된 파일)
zpaq x .\ee.zpaq -until 3

-1 로 바로 전버전 선택도 가능.
zpaq extract .\ee.zpaq -to c:\temp -until -1


ttt_1.txt 만 선택 압축풀기
zpaq extract .\ee.zpaq -only ttt_1.txt -to c:\temp


l (list) 로 버전 몇까지 있는지 알 수 있음.
PS C:\Temp> zpaq l .\ee.zpaq
zpaq v7.15 journaling archiver, compiled Aug 17 2016
./ee.zpaq: 6 versions, 7 files, 7 fragments, 0.006223 MB

- 2023-07-14 08:21:17 28 A ./ttt.txt
- 2023-07-14 08:21:23 97 A ./테스트.txt

0.000125 MB of 0.000125 MB (2 files) shown
-> 0.000125 MB (2 refs to 2 of 7 frags) after dedupe
-> 0.006223 MB compressed.
0.000 seconds (all OK)


버전 정보도 같이 알려줌
zpaq l .\ee.zpaq -all
- 2023-07-22 01:09:43 5 0001/ +1 -0 -> 793
- 2023-07-22 01:09:07 5 A 0001/ttt.txt
- 2023-07-22 01:09:50 8 0002/ +1 -0 -> 796
- 2023-07-22 01:09:48 8 A 0002/ttt.txt
- 2023-07-22 01:09:53 11 0003/ +1 -0 -> 1100
- 2023-07-22 01:09:53 11 A 0003/ttt.txt
- 2023-07-22 01:09:56 14 0004/ +1 -0 -> 1104
- 2023-07-22 01:09:55 14 A 0004/ttt.txt
- 2023-07-22 01:09:59 17 0005/ +1 -0 -> 1107
- 2023-07-22 01:09:58 17 A 0005/ttt.txt
- 2023-07-22 01:10:03 24 0006/ +1 -0 -> 1114
- 2023-07-22 01:10:02 24 A 0006/ttt.txt
- 2023-07-22 01:12:17 27 0007/ +1 -0 -> 1117
- 2023-07-22 01:11:47 27 A 0007/ttt.txt
- 2023-07-22 01:13:14 24 0008/ +1 -0 -> 549
- 2023-07-22 01:10:02 24 A 0008/ttt_1.txt
- 2023-07-22 01:38:36 455044405 0009/ +672 -0 -> 261126940
- 2023-02-28 03:10:59 455044405 RD 0009/./t/
- 2022-05-02 00:59:08 1349964 A 0009/./t/20220502_095907.jpg


zpaq l .\ee.zpaq -all 2 하면 버전 자릿수 표시가 바뀜
즉 기본값이 4인것.
- 2022-02-26 13:36:32 8143636 RA 09/./t/DSC01794.JPG
- 2022-02-26 13:36:33 8134940 RA 09/./t/DSC01795.JPG
- 2022-02-26 13:45:31 10686229 A 09/./t/DSC01795.psd
- 2022-02-26 13:36:33 11696227 RA 09/./t/DSC01796.JPG
- 2022-02-26 13:36:34 9416878 RA 09/./t/DSC01797.JPG
- 2022-02-26 13:36:35 9912961 RA 09/./t/DSC01798.JPG
- 2022-02-26 13:41:16 130620494 A 09/./t/DSC01798.psd
- 2023-07-22 01:47:29 10545829 10/ +1 -0 -> 10552597
- 2022-02-28 10:24:55 10545829 A 10/./What Do I Call You_태연_What Do I Call You - The 4th Mini Album.m4a


zpaq l .\ee.zpaq -until 3 하면 3버전 까지만 출력됨.


Extract all the files and directories in c:\Users\Bob as of the last backup on or before Oct. 30, 2013 and put them in a directory named tmp.
zpaq extract e:\backup.zpaq c:\Users\Bob -to tmp -until 2013-10-30


.\t 폴더만 c:\temp 로 풀음.
zpaq extract .\ee.zpaq .\t -to c:\temp
zpaq extract .\ee.zpaq .\t -to c:\temp -until 2020-1-1

댓글

이 블로그의 인기 게시물

공유기 2개 쓰는데 동일 네트워크 구성하기 ASUS 공유기 + iptime 공유기, LAN, WIFI 연결

OneDrive가 바꾼 문서, 사진, 바탕화면 기본 폴더 복구하기(레지스트리 사용안하고 복구)

갤럭시북 이온 노트북 소음 잡기