循環シンボリックリンクを持つディレクトリタールボールを取得するには?

循環シンボリックリンクを持つディレクトリタールボールを取得するには?

rootとして、次のコマンドを使用してバックアップを作成します。 (roaimaが観察したように、これは複雑になる可能性があります。)そのディレクトリへの循環シンボリックリンクを持つディレクトリツリーにバックアップを作成しますtar。図1のコマンド1出力

root@masi:/home/masi# tar czf /media/masi/ext4Masi/backup_home_20.12.2016.tar.gz $HOME/

システムの特徴

  • $HOME/Documents/

    masi@masi:~$ ls -ld /home/masi/Documents/
    drwxr-xr-x 36 masi masi 4096 Nov 23 22:02 /home/masi/Documents/
    
  • $HOME

    masi@masi:~$ echo $HOME
    /home/masi
    

図1コマンド出力(1)ANDコマンド出力(2)(同じ出力)、図2メインツリー

ここに画像の説明を入力してください。 ここに画像の説明を入力してください。

タルボールの特徴

  • コマンド1の圧縮パッケージ。コマンド2と同じ状況です。Documentsバックアップにディレクトリがないと表示されます。

    root@masi:/home/masi/Documents/bin# tar tzvf /media/masi/masiWeek/backup_home_22.12.2016.tar.gz | grep 'Documents/*$' 
    root@masi:/home/masi/Documents/bin# 
    

ループがディレクトリにシンボリックリンクされている場合は、tarそのディレクトリ(私の場合は.otherDocumentsディレクトリ)をスキップしDownloadsて再度バックアップしてください。私はこのような行動を避けたい。回避策を使用できますが、--deference最大の欠点はデータの冗長性です。つまり、バックアップでも維持したいシンボリックリンクに従わなければならないということです。

コマンド2は失敗しましたが、出力も図1です。

# DopeGhoti
root@masi:/home/masi/Documents/bin# nice tar czf \
    /media/masi/masiWeek/backup_home_22.12.2016.tar.gz \
    --keep-directory-symlink $HOME/

コマンド3は失敗しましたが、出力は図1と同じです。

root@masi:/home/masi# nice tar --keep-directory-symlink -czf \ 
  /media/masi/masiWeek/backup_home_22.12.2016.tar.gz $HOME/ 

OS:Debian 8.5
関連:スレッドからこのようなバックアップを復元するほぼ新しい Debian でマスターバックアップを復元する方法は?

ベストアンサー1

説明で、root自分以外のユーザーとしてバックアップを実行していることを確認します。ユーザーになるとroot価値が$HOME変わります。 (これはあなたになる方法の影響を受けますroot。)

したがって、実行すると、質問で非常に混乱しているものが何であるかがtar cvf /tmp/backup.tar $HOMEわかります$HOMErootリンク1$HOME)はとを交換しているということです/home/masi

バックアップするには、/home/masi次のものを使用する必要がありますtar cvf /tmp/backup.tar /home/masi。または、ユーザーとしての方法を変更して変更しないでくださいroot$HOME

正しいディレクトリツリーをバックアップすると、欠落しているDocumentsフォルダが見つかる可能性があります。

おすすめ記事