Compression

gunzip 是原子的嗎?

  • November 8, 2010

我有兩個監視目錄的腳本(postgres warm-standby)

一個腳本將壓縮文件複製到目錄中,然後解壓縮它們。

另一個腳本監視未壓縮的文件,然後將它們攝取到 postgres 中。

我想知道我是否可以讓攝取器腳本在編寫它時讀取gunzip的輸出?

簡而言之:gunzip

  1. 解壓然後改名字
  2. 解壓縮時復製到新名稱
  3. 別的東西

它是非原子的,如您在大壓縮期間是否執行 ls 所見:

dfranke@alatar:~$ dd if=/dev/zero of=bigfile bs=1M count=3072
3072+0 records in
3072+0 records out
3221225472 bytes (3.2 GB) copied, 39.1106 s, 82.4 MB/s
dfranke@alatar:~$ gzip bigfile &
[1] 19876
dfranke@alatar:~$ ls -l bigfile*
-rw-r--r-- 1 dfranke staff 3221225472 2010-11-08 17:16 bigfile
-rw------- 1 dfranke staff     114688 2010-11-08 17:18 bigfile.gz
dfranke@alatar:~$ ls -l bigfile*
-rw-r--r-- 1 dfranke staff 3221225472 2010-11-08 17:16 bigfile
-rw------- 1 dfranke staff     212992 2010-11-08 17:18 bigfile.gz

引用自:https://serverfault.com/questions/199596