2

このため、スタックオーバーフローでここに質問しています。


ZIP ファイルを格納するために、Artifactory に「汎用」リポジトリを作成しました。元々、これらの zip ファイルは、インデックス付きディレクトリを持つ Web サーバー (Apache または Nginx) 上にありました。すべてのバイナリ ダウンロードを同じサーバー (Maven、NuGet、および Eclipse リポジトリもあります) に置く方が理にかなっていたため、移動しました。

Web サーバーでは、zip ファイルには、最初にアップロードされたときの最終更新日が含まれていました。

Artifactory では、zip ファイルには展開された時点の最終更新日が記録されています。つまり、それらはすべて今日展開されています。

Artifactory の最終更新日を元の日付に戻すにはどうすればよいですか? プロパティ ページのドキュメントを確認しましたが、ここで変更を加える必要があるかどうかはわかりません。

または、次のようなことができますか

touch -m -t [[CC]YY]MMDDhhmm[.SS] file.zip

Artifactory のバックエンドのどこかに?


編集:

の内容です/usr/local/artifactory/etc/storage.properties

type=derby
url=jdbc:derby:{db.home};create=true
driver=org.apache.derby.jdbc.EmbeddedDriver

## Determines where the actual artifacts binaries are stored. Available options:
## filesystem - binaries are stored in the filesystem (recommended, default)
## fullDb     - binaries are stored as blobs in the db, filesystem is used for caching
## cachedFS   - binaries are stored in the filesystem, but a front cache (with faster access) is added
## IMPORTANT NOTE: This property should not be change after the initial setup. To change binaries storage you have to export and import
#binary.provider.type=filesystem

/usr/local/artifactory/data/filestore元のファイル名とは関係なく、16 進数のディレクトリとファイルがあります。ただし、実行中

find /usr/local/artifactory/data/filestore/ -type f -print0 \
  | xargs -0 file \
  | cut -d: -f2 \
  | sort \
  | uniq -c \
  | sort -nr

これらが実際に私が興味を持っているファイルであることを教えてくれます:

706  Zip archive data, at least v1.0 to extract
328  XML document text
 27  XML  document text
 26  exported SGML document, ASCII text, with CRLF line terminators
 22  Zip archive data, at least v2.0 to extract
 16  ASCII text
 14  ASCII text, with CRLF line terminators
  9  HTML document, ASCII text, with very long lines, with CRLF line terminators
  9  HTML document, ASCII text, with very long lines
  6  HTML document, ASCII text, with CRLF line terminators
  4  HTML document, ASCII text
  4  gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT)
  4  exported SGML document, ASCII text
  3  PE32 executable (GUI) Intel 80386 (stripped to external PDB), for MS Windows

初心者向け: jar ファイルと nuget ファイルは実際には zip ファイルです。POM ファイルは実際には xml ファイルなどです。また、いくつかのファイルをランダムに開いて確認しました。

filestoreこれにより、Derby データベースでクエリを実行し、必要なディレクトリ内のどのバイナリ BLOB を見つけてからtouch -mコマンドを実行することで、それを実行できるのではないかと思います。

私の質問は次のとおりfilestoreです。ディレクトリ内のどのバイナリ BLOB がどのファイルに対応しているかを調べるにはどうすればよいですか? 残りは自分で把握できます。

もちろん、これは Artifactory がファイルシステムの日付を取得し、Derby データベースに日付を保存しないことを前提としています。知らない。もしそうなら、私はスクエア1に戻ります.

4

0 に答える 0