-FSオプションを使用してzipファイルを「リフレッシュ」すると、ファイルの変更時間が変わりますか?

-FSオプションを使用してzipファイルを「リフレッシュ」すると、ファイルの変更時間が変わりますか?

ジョブのバックアップとして使用するzipファイルがあります。-FSバックアップファイルを更新したいときはいつでも、「更新」オプション()を使用してください。ただし、ファイルには、ファイルを「更新した」以降の複数の変更日ではなく、最後に変更した日付がファイルを最初に作成した日付として表示されます。これは正常な行動ですか?

ベストアンサー1

Unix には作成日がないため、これらのファイルを更新すると、変更.zip日に基づいて更新されます。zipこれはマニュアルページによる通常の動作です。

抜粋

The new File Sync option (-FS) is also considered a new mode, though it 
is similar to update.  This mode synchronizes the archive with the files on 
the OS, only replacing files in the archive if the file time or size of the 
OS file is different, adding new files, and deleting entries from the 
archive where there is no matching file.  As this mode can delete entries 
from  the  archive,  consider making a backup copy of the archive.

はい

次の3つのファイルがあるとしましょう。

$ touch file1 file2 file3

ZIPファイルに追加します。

$ zip file.zip file{1..3}
  adding: file1 (stored 0%)
  adding: file2 (stored 0%)
  adding: file3 (stored 0%)

ある程度時間が経つにつれてfile3更新されました。

$ touch file3

これで ZIP ファイルを更新します。

$ zip -FS file.zip file{1..3}
updating: file3 (stored 0%)

ZIPファイルを調べると、ファイルの時間が次のように表示されます。

$ unzip -l file.zip 
Archive:  file.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  07-12-2014 02:59   file1
        0  07-12-2014 02:59   file2
        0  07-12-2014 03:00   file3
---------                     -------
        0                     3 files

一時ディレクトリを作成し、そこにZIPファイルを抽出する場合:

$ mkdir temp; cd temp

$ unzip ../file.zip 
Archive:  ../file.zip
 extracting: file1                   
 extracting: file2                   
 extracting: file3                   

このディレクトリの内容は次のとおりです。

$ ls -l
total 0
-rw-rw-r--. 1 saml saml 0 Jul 12 02:59 file1
-rw-rw-r--. 1 saml saml 0 Jul 12 02:59 file2
-rw-rw-r--. 1 saml saml 0 Jul 12 03:00 file3

stat表示にコマンドを使用する場合file3:

$ stat file3
  File: ‘file3’
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: fd02h/64770d    Inode: 17307675    Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    saml)   Gid: ( 1000/    saml)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2014-07-12 03:00:16.000000000 -0400
Modify: 2014-07-12 03:00:16.000000000 -0400
Change: 2014-07-12 03:01:03.447913554 -0400
 Birth: -

メモ:アクセス、変更、変更にはタイムスタンプが表示されます。このzipコマンドは、-FSスイッチの使用時のアクセス時間と変更時間を保持します。

引用する

おすすめ記事