このため、スタックオーバーフローでここに質問しています。
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に戻ります.