ディレクトリとファイルの権限を維持しながら、フルパスのすべてのファイルとディレクトリのリストをtar.gzでどのように確認できますか?

ディレクトリとファイルの権限を維持しながら、フルパスのすべてのファイルとディレクトリのリストをtar.gzでどのように確認できますか?

どうやって作ることができますかtar.gz

  1. フルパスファイルのリスト(例/root/test/abcd/123.txt:)
  2. ディレクトリとファイルを含める
  3. 抽出中にファイルとディレクトリの所有権と権限を維持しますか?

私のファイルリスト(dbfiles.log)は次のとおりです。

[oracle@test ~]$ cat dbfiles.log
/u01/app/oracle/product/12.2.0/dbhome_1/dbs/initDEVR.ora
/u01/app/oracle/product/12.2.0/dbhome_1/dbs/orapwDEVR
/u01/app/oracle/product/12.2.0/dbhome_1/dbs/spfileDEVR.ora
/u01/app/oracle/oradata/DEVR/control01.ctl
/u01/app/oracle/oradata/DEVR/control02.ctl
/u01/app/oracle/oradata/DEVR/redo01.log
/u01/app/oracle/oradata/DEVR/redo02.log
/u01/app/oracle/oradata/DEVR/redo03.log
/u01/app/oracle/oradata/DEVR/sysaux01.dbf
/u01/app/oracle/oradata/DEVR/system01.dbf
/u01/app/oracle/oradata/DEVR/temp01.dbf
/u01/app/oracle/oradata/DEVR/undotbs01.dbf
/u01/app/oracle/oradata/DEVR/users01.dbf
[oracle@test ~]$

今日私がしたことは次のとおりです。

tar -czvf TARFILENAME.tar.gz -T dbfiles

ただし、解凍した後は、権限を手動で構成する必要があります。ちなみに、必要に応じて元のファイルをインポートsudoするのではなく、ディレクトリが所有権を持つようにファイルを抽出するためにこれを使用する必要があります。root:rootoracle:oinstall

--no-recursiontarのフラグがこの問題を解決できることを示唆しているいくつかの参考文献が見つかりました。

tar -zcf file.tgz --no-recursion abc --recursion abc/def

私はこれが正しいアプローチだと思いますが、私のファイルリストにそれを使用する方法がわかりません。findリストを繰り返して出力をタールボールに送るのではないでしょうか?正直、よくわかりません。

ベストアンサー1

圧縮にはディレクトリを使用できますtar -cvpf filename.tar.gz

抽出時に--same-ownerパラメータを使用してください。例えばtar -xvzf --same-owner filename.tar.gz

おすすめ記事