2012-01-19 3 views
5

다양한 파일의 백업을 작성하는 스크립트를 작성하고 있습니다. 제가하고 싶은 것은 백업에 대한 메타 정보를 저장하는 것입니다. 현재 내가 파일 이름을 사용하므로 예를 들어 해요 :운영 체제간에 파일에 "태그"를 추가하는 표준 방법이 있습니까?

backups/cool_file_bkp_c20120119_104955_d20120102 
c 파일 생성 날짜를 나타냅니다

d이 cool_file 실제로 포함 된 내용을 나타내는 "데이터 시간"을 나타냅니다. 현재 "데이터 시간"을 사용하는 이유는 나중의 백업이 동일한 파일로 이루어질 수 있기 때문에 정보를 잃지 않고 동일한 "데이터 시간"의 이전 백업을 안전하게 대체 할 수 있다는 것입니다.

일을하는 것이 끔찍한 방법 인 것처럼 보이지만, 비 의존적 인 이점이있는 것처럼 보입니다. 더 좋은 방법이 있습니까?

FYI : 필자는 백업 생성을 스크립팅하기 위해 Python을 사용하고 있으며 현재 Windows XP, 2003 및 Redhat Linux에서이 작업이 필요합니다.

편집 : 해결책 : 아래의 답변에서 파일에 대한 메타 데이터가 표준 방식으로 널리 지원되지 않는다고 추측했습니다. 필자의 목표는 메타 데이터를 파일과 밀접하게 연결하는 것이었기 때문에 메타 데이터 텍스트 파일과 함께 파일을 보관하는 것이 좋습니다.

+0

다른 해결책은 파일 자체에 메타 데이터를 저장하거나 md5hash, creationtime, datatime 열이있는 테이블이 포함 된 추가 파일/데이터베이스를 사용하는 것입니다. –

+0

메타 데이터를 외부 파일에 저장하는 방법을 많이 볼 수 있지만 현재 시스템에 무엇이 잘못되어 있는지 실제로 볼 수 없습니다! – katrielalex

답변

3

내가 걸릴 것이 두 가지 방법 중 하나를

은 독립 실행 형 파일을 만들 backub의 디렉토리에, 즉 원하는 메타 데이터를 포함하는 것 -이 사람이 읽을 수있는 형태로 somethnng 수 있습니다, 단지 인생을 더 쉽게 만드는 , json 데이터 구조 또는 "ini"와 같은 파일.

다른 하나는 "zip"을 사용하여 복사 한 파일을 보관하고 원하는 메타 데이터가있는 텍스트 파일을 함께 묶는 것입니다.

당신이 함께 원하는 파일을 그룹화하기위한 zip 아카이브를 만드는 아이디어는 자바 .jar 파일, Open Document Format (여러 office sutres로 만든 offffice 파일), Office Open XML (Microsoft 특정 offic 파일), 심지어 Python 언어 자체의 달걀까지 포함합니다.

파이썬의 표준 라이브러리에있는 ziplib 모듈에는이를 구현하는 데 필요한 모든 툴이 포함되어 있습니다. 필요한만큼 많은 메타 데이터를 갖기 위해 원래의 번들과 함께 번들 된 파일에서 사전의 표현을 사용할 수 있습니다.

이러한 방법 중 하나라도 물론 파일의 메타 데이터를보고 필터링하기위한 도우미 스크립트가 필요합니다.

1

다른 파일 시스템 (운영 체제가 아닌)은 메타 데이터 저장 기능이 다릅니다. NTFS에는 많은 가능성이 있지만 FAT는 매우 제한적이며 ext *는 그 중간에 있습니다. 광범위한 (주관적 용어, 예) 파일 시스템은 여러분이 사용할 수있는 커스텀 태그를 지원하지 않습니다. 따라서 이러한 태그를 사용하는 표준 방법이 없습니다. Windows에서 확장 속성을 도입하려는 시도가 있었지만 이러한 방법은 거의 사용할 수없는 까다로운 방법으로 구현되었습니다.

그래서 파일 이름에 무엇이든 넣는 것이 유일한 작업 방식입니다. 파일 시스템은 파일 이름과 파일 경로 길이에 제한이 있으며이 접근법을 사용하면 한계를 초과 할 수 있으므로주의하십시오.

관련 문제