Tömörít egy mappát kátránnyal?

Egy mappát (/var/www/) tömöríteni próbálok ~/www_backups/$time.tar ahol $time az aktuális dátum.

Ez az, amim van:

cd /var/www && sudo tar -czf ~/www_backups $time" 

Teljesen eltévedtem, és már órák óta ezen vagyok. Nem biztos abban, hogy a -czf helyes-e. Egyszerűen a /var/www fájlban lévő összes tartalmat át akarom másolni egy $time.tar fájlba, és meg akarom tartani a fájlengedélyeket az összes fájlhoz. fájlokat. Tudna valaki segíteni rajtam?

Megjegyzések

  • szüksége van egy " elemre a $time is.

Válasz

To tar és gzip mappa, a szintaxis a következő:

tar czf name_of_archive_file.tar.gz name_of_directory_to_tar 

A - és a czf nem kötelező.

Ha tar Az aktuális könyvtárat használja a . használatával ennek kijelölésére.

A fájlnevek dinamikus felépítéséhez használja a date segédprogramot ( a rendelkezésre álló formátumbeállítások man oldalát). Például:

cd /var/www && tar czf ~/www_backups/$(date +%Y%m%d-%H%M%S).tar.gz . 

Ez egy 20120902-185558.tar.gz nevű fájlt hoz létre.

Linuxon valószínűleg a tar is támogatja a BZip2 tömörítést a j és nem a z választási lehetőség. És esetleg mások is. Ellenőrizze a helyi rendszer man oldalát.

Megjegyzések

  • Ez tökéletes, köszönöm. Van egy apró kérdésem. A / var / www tar fájl létrehozása után a / var / www könyvtárba kerül a tar fájlban. Itt ' s az i ' m kód most sudo tar -czf ~/www_backups/$time.tar /var/www/" használatával Képzelje el, hogy van egy fájlom, test.txt belül / var / www. A fájl kátrányos másolatának elkészítése után, amikor kibontom, a / var / www könyvtárba kerül. Ennek van értelme? Remélem, igen, elég nehéz megmagyarázni. Megnézem a BZip2 támogatását, köszönöm a javaslatot!
  • Ez az, amiért ' miért először cd a csomagolni kívánt könyvtárat, majd tar cf file.tar . – ez az utolsó . a teljes elérési út megadása helyett az archívumon belüli utakat teszi meg a aktuális könyvtár. Használhatja a -C opciót a tar-hoz (nézze meg a man oldalt).
  • Igen, ez sokkal jobban működött. Köszönöm egy csomónak, értékelje!
  • @Qwertylicious -f (man oldalról) Read the archive from or write the archive to the specified file.The filename can be - for standard input or standard output.
  • A tar legújabb verzióival a J (a z helyett) a xz LZMA2 tömörítés.

Válasz

Példák a leggyakoribb tömörítési algoritmusokra

A kérdés címe egyszerűen " Tömörít mappa tar-val? " Mivel ez a cím nagyon általános, de a kérdés és a válasz sokkal konkrétabb, és a kérdés nagyon vonzó nézettsége miatt ezt éreztem Hasznos lenne naprakész listát felvenni mind az archiválásról / tömörítésről, mind a kivonásról / tömörítésről, különféle gyakran használt tömörítési algoritmusokkal.

Ezeket az Ubuntu 18.04.4 verzióval teszteltük. Ezek általános használatra nagyon egyszerűek, de könnyen beilleszthetők az OP konkrétabb kérdéseinek tartalmába az elfogadott válasz technikáival és a fenti hasznos megjegyzésekkel. A közönség az, hogy tar nem fogja automatikusan hozzáadni a szükséges kiterjesztéseket (például .tar.gz) – a felhasználónak kifejezetten hozzá kell adnia ezeket, amint az a alábbi parancsok:

# 1: tar (create uncompressed archive) all files and directories in the current working directory recursively into an uncompressed tarball tar cvf filename.tar * # 2: Untar (extract uncompressed archive) all files and directories in an uncompressed tarball recursively into the current working directory tar xvf filename.tar # 3: tar (create gzipped archive) all files and directories in the current working directory recursively into a tarball compressed with gzip tar cvzf filename.tar.gz * # 4: Untar (extract gzipped archive) all files and directories in a tarball compressed with gzip recursively into the current working directory tar xvf filename.tar.gz # Note: same options as 2 above # 5: tar (create bzip2"ed archive) all files and directories in the current working directory recursively into a tarball compressed with bzip2 tar cvjf filename.tar.bz2 * # Note: little "j" in options # 6: Untar (extract bzip2"ed archive) all files and directories in an tarball compressed with bzip2 recursively into the current working directory tar xvf filename.tar.bz2 # Note: same options as 2 and 4 above # 7: tar (create xz"ed archive) all files and directories in the current working directory recursively into a tarball compressed with xz tar cvJf filename.tar.xz * # Note: capital "J" in options # 8: Untar (extract xz"ed archive) all files and directories in an tarball compressed with xz recursively into the current working directory tar xvf filename.tar.xz # Note: same options as 2, 4, and 6 above 

Lásd a tar man oldalt (a legjobb, ha a következőt használod: man tar az adott gépen) további részletekért. Az alábbiakban összefoglalom a fent használt lehetőségeket közvetlenül a man oldalról:

-c, –create
új archívum létrehozása

-x, –extract, –get
fájlok kibontása archívumból

-v, –verbose
a feldolgozott fájlok pontos listázása

-z, –gzip
az archívum szűrése a gzip-en keresztül

-j, –bzip2
szűrje az archívumot a bzip2

-J, –xz
az archívum szűrése xz-en keresztül

-f, –file = ARCHÍVUM
archív fájl vagy eszköz használata ARCHIVE

Nem szükséges hozzáadni a - -t a kombinált opciók elé, vagy a = jelet a f opció és a fájlnév között.

Mindezt a legutóbbi cikkemből kaptam, amely tovább bővül egy sokkal átfogóbb cikké, mivel van időm dolgozni azt.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük