2010-01-27 2 views
1

파일 시스템을 백업하는 중이므로 메타 데이터가 보존되어 있는지 확인해야합니다 (파일 소유자 및 생성 시간).Python에서 메타 데이터 (사용자 ID 및 ctime)를 사용하여 아카이브 (tar 및 압축)

파이썬에있는 tarfile 모듈은 정말 도움이되며, 제 솔루션에서 광범위하게 사용합니다. 그러나 메타 데이터를 보존하는 파일로 tar 파일을 만들 수 없습니다 (아마도 copycopy2은이 작업을 수행 할 수 없기 때문일 수 있습니다).

어떻게 파이썬에서이 문제에 접근하겠습니까?

편집 :

그냥 사회에 그것을 명확하게하기 : 파이썬 에서 tarfile 모듈Tarinfo 객체를 통해 메타 데이터를 저장에 수단을 제공한다. 기본적으로 Tarinfo 개체는 Tar 개체의 구성원이며 필요한 모든 정보를 가지고 있습니다. 승인 된 게시물을 참조하십시오.

감사합니다.

답변

2

"아마도"? 너 몰라? 을 시도 했습니까? 내가 알기 엔 tarfiles는 ctime을 보존하지 않으며 포장을 풀 때 ctime을 다시 설정해야하므로 tiles는 ctime을 보존하지 않습니다. mtime은 보존되지만, tarfile 모듈은 mtime을 처리합니다.

파이썬 tarfile 모듈은 파일을 추가 할 때 TarInfo 개체를 사용합니다. 그래서 같이 :

TarInfo.mtime 
Time of last modification. 

TarInfo.uid 
User ID of the user who originally stored this member. 

TarInfo.gid 
Group ID of the user who originally stored this member. 

그리고 다른 메타 데이터의로드 :

TarFile.addfile(tarinfo, fileobj=None) 

TarInfo 객체는 파일 정보가 포함되어 있습니다. http://docs.python.org/library/tarfile.html

+0

제발 ... 그리고 downvote 제발 ... 당신 말이 맞아요 ... Tarinfo 필드는 내가 필요한 모든 것을 포함하고 있습니다. 'Lapsus Stupidus'에 대해 유감스럽게 생각합니다. – Escualo

관련 문제