web-dev-qa-db-ja.com

シンボリックリンクからバックアップを作成する方法

他のディレクトリへのシンボリックリンクを含むディレクトリがあります。 tarコマンドを使用して、シンボリックリンクをリンクとしてではなく、それらが参照するディレクトリのファイルを含むアーカイブとしてアーカイブしたいと考えています。これどうやってするの?

67
hknik

使用 -h tarオプション。 manページから:

-h, --dereference
    don't archive symlinks; archive the files they point to
101
Mat

リンクがすべてルートディレクトリにある場合は、シェルでそれらを逆参照して、引数としてtarに渡すことができます。たとえば、/ backup/source/aと/ backup/source/bがあり、どちらも実際のディレクトリを指すシンボリックリンクである場合、次のようなものが機能します

tar -cf /path/to/backup.tar /backup/source/*/
3
Patrick