Memo/Linux/Archiver

https://dexlab.net:443/pukiwiki/index.php?Memo/Linux/Archiver
 

Archiver

  • デファクトスタンダート
    • gzip, bzip2, xz
  • 新しい形式
    • lz4

tar+opensslを使った暗号化と複合化

  • 暗号化
    PASSWORD=$(mkpasswd -l 16 -s 0)
    echo $PASSWORD
    tar cz ./exsample | openssl enc -e -aes256 -k $PASSWORD -out ./exsample.enclypted.tgz
  • 複合化
    openssl enc -d -aes256 -in exsample.enclypted.tgz | tar xz -C ./
    enter aes-256-cbc decryption password: ****

lzma形式 解凍圧縮

  • CentOS5.4で、「lzma」「unlzma」を使えるように
    yum install xz-lzma-compat
  • .lzma圧縮
    lzma [ファイル名]
  • .lzma解凍
    unlzma [ファイル名].lzma
  • .tar.lzma圧縮
    • tar 1.19以下
      tar cfv - [ファイルやディレクトリ...] | lzma > [ファイル名].tar.lzma
    • tar 1.20以上
      tar cvf [ファイル名].tar.lzma --lzma [ファイルやディレクトリ...]
  • .tar.lzma解凍
    • tar 1.19以下
      lzcat [ファイル名].tar.lzma | tar xfv -
    • tar 1.20以上
      tar xvf [ファイル名].tar.lzma --lzma

zip圧縮展開

  • 圧縮
    • 圧縮するディレクトリに絶対パスを用いると、絶対パスのまま圧縮されるので注意。
      cd /home/;zip -qr9 taro.zip taro/
  • 展開
    unzip taro.zip -d taro
  • 複数ファイル展開
    find . -name "*.zip" -exec unzip {} \;

tarによるバックアップ

  • シンボリックリンクを追跡して圧縮 : 'h' オプション
    tar cfzh /tmp/backup.tar.gz backup/
  • 普通の場合
    • バックアップ
    • 圧縮先パスに絶対パスを用いると絶対パスのまま圧縮されるので注意。
      tar cvfz /mnt/mo/home_taro_backup.tar.gz taro
    • logというファイルを除外したければ、--exclude=log を付ける
      • File not found: "exclude.list" at page "Memo/Linux/Archiver"[添付]
    • バージョン管理ファイル(CVS, RCS, SCCS, SVN, Arch, Bazaar, Mercurial, Darcs) を除外したい場合 --exclude-vcs を付ける
  • 除外を複数指定。「fX」の順序も厳密にこの順。 exclude.list に1行毎に書く。
    tar cvfz dir.tar.gz dir -X exclude.list
  • リストア
    tar xvfz /mnt/mo/home_taro_backup.tar.gz
  • 許可情報(オーナー、パーミッション)も保存する場合
    • バックアップ
      tar cvfzp /mnt/mo/home_taro_backup.tar.gz taro
  • 絶対パスにリストア
    tar xvfzp /mnt/mo/home_taro_backup.tar.gz
    • 相対パスにリストア
      tar xvfzp /mnt/mo/home_taro_backup.tar.gz -C .
    • 「-o」もしくは「--no-same-owner」でrootユーザで展開した場合でも、root:rootにできる
  • /etcなどの重要なディレクトリの場合
    • バックアップ
      tar --same-owner -cvfzp /mnt/mo/etc-backup.tar.gz /etc
    • リストア:lilo.confを戻す
      cd /tmp
      tar --same-owner -xvfzp /mnt/mo/etc-backup.tar.gz
      cd /etc
      mv lilo.conf lilo.conf.bak
      cp /tmp/etc/lilo.conf .

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-09-15 (土) 07:31:37 (35d)