Pakataanko kansio tervalla?

Yritän pakata kansiota (/var/www/) muotoon ~/www_backups/$time.tar missä $time on nykyinen päivämäärä.

Minulla on tämä:

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

Olen täysin eksynyt ja olen ollut tässä jo tuntikausia. Et ole varma, onko -czf oikea. Haluan vain kopioida koko /var/www -sisällön $time.tar -tiedostoon ja haluan säilyttää kaikkien tiedostot. Voiko kukaan auttaa minua?

Kommentit

  • tarvitset " sivun $time.

Vastaa

Vastaanottajaan tar ja gzip kansio, syntaksin muoto on:

tar czf name_of_archive_file.tar.gz name_of_directory_to_tar 

- ja czf on valinnainen.

Jos haluat tar nykyisessä hakemistossa, merkitse se . -näppäimellä.

Rakenna tiedostonimet dynaamisesti käyttämällä date -apuohjelmaa (katso sen man-sivulta käytettävissä olevat muotoasetukset). Esimerkki:

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

Tämä luo tiedoston nimeltä 20120902-185558.tar.gz.

Linuxissa on todennäköistä, että tar tukee myös BZip2-pakkausta j -tekniikan sijaan z vaihtoehto. Ja mahdollisesti muita. Tarkista paikallisen järjestelmän man-sivu.

Kommentit

  • Tämä on täydellinen, kiitos. Minulla on kuitenkin yksi pieni asia. Kun olet luonut tar-tiedoston tiedostosta / var / www, se sijoitetaan tar-tiedoston / var / www-hakemistoihin. Täällä ' s koodi i ' m käyttäen nyt sudo tar -czf ~/www_backups/$time.tar /var/www/" Kuvittele, että minulla on tiedosto nimeltä test.txt sisällä / var / www. Tehtyään tervakopio tiedostosta, kun purkan sen, se sijoitetaan / var / www -hakemistoihin. Onko siinä järkeä? Toivon, että kyllä, on vaikea selittää. Tarkistan BZip2-tuen, kiitos ehdotuksesta!
  • Että ' s miksi ensin cd pakattava hakemisto, sitten tar cf file.tar . – että viimeinen . koko polun määrittelemisen sijasta polut arkiston sisällä suhteessa nykyinen hakemisto. Voit käyttää myös tervaa varten vaihtoehtoa -C (katso man-sivua).
  • Yup, se toimi paljon paremmin. Kiitos joukosta, arvosta sitä!
  • @Qwertylicious -f (man-sivulta) Read the archive from or write the archive to the specified file.The filename can be - for standard input or standard output.
  • Viimeisimmissä tar-versioissa isot kirjaimet J (z: n sijaan) käyttävät xz LZMA2-pakkaus.

vastaus

Esimerkkejä yleisimmistä pakkausalgoritmeista

Tämän kysymyksen otsikko on yksinkertaisesti " Pakkaa a kansio, jossa on tar? olisi hyödyllistä lisätä ajantasainen luettelo sekä arkistoinnista / pakkaamisesta että purkamisesta / purkamisesta useilla yleisesti käytetyillä pakkausalgoritmeilla.

Nämä on testattu Ubuntu 18.04.4: llä. Ne ovat hyvin yksinkertaisia yleiskäyttöön, mutta ne voidaan helposti integroida toimenpideohjelman tarkempaan kysymyssisältöön käyttämällä hyväksytyn vastauksen ja yllä olevien hyödyllisten kommenttien tekniikoita.

Yksi asia, joka on syytä huomata yleisemmälle Yleisö on, että tar ei lisää tarvittavia laajennuksia (kuten .tar.gz) automaattisesti – käyttäjän on lisättävä ne nimenomaisesti, kuten alla olevat komennot:

# 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 

Katso tar -sivua (parasta käyttää man tar tietyllä koneellasi) lisätietoja. Alla esitän yhteenvedon yllä käytetyistä vaihtoehdoista suoraan man-sivulta:

-c, –luo
luo uusi arkisto

-x, –extract, –get
pura tiedostot arkistosta

-v, –verbose
luetteloi käsitellyt tiedostot tarkasti

-z, –gzip
suodata arkisto gzipin kautta

-j, –bzip2
suodata arkisto bzip2: n kautta

-J, –xz
suodata arkisto xz: n kautta

-f, –file = ARKISTO
käytä arkistotiedostoa tai laitetta ARKISTO

Ei tarvitse lisätä - -merkkiä yhdistettyjen asetusten eteen tai = -merkkiä f -vaihtoehdon ja tiedostonimen välillä.

Sain kaiken tämän äskettäisestä artikkelistani , jota laajennetaan edelleen paljon kattavammaksi artikkeliksi, kun minulla on aikaa työskennellä se.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *