私のウェブサイトのバックアップを作成するためにrsyncを使用しています。--link-dest
以前のバックアップへの接続を使用し、必要なストレージ容量を減らして、変更されていない重複ファイルが複数回保存されないようにしたいと思います。
私は文書を理解するためにいくつかの異なるパスの組み合わせを試しました。私が知る限り、最初のパスはスクリプトファイルが実行される場所への完全な相対パスでなければなりません。最後のパスはパスがない宛先フォルダ名ですか?
--link-dest=DIR このオプションは --copy-dest と同様に機能しますが、変更されていないファイルは DIR からターゲットディレクトリにハードリンクされます。ファイルを互いにリンクするには、これらのファイルのすべての予約された属性(権限、可能な所有権など)が同じである必要があります。例: CW rsync -av --link-dest=$PWD/prior_dir ホスト:src_dir/ new_dir/
明らかに、私が試したすべてが失敗し、ファイルの完全なコピーを生成したので、これを正しく理解していませんでした。
私が現在持っているものの例は次のとおりです。
rsync -zavx -e 'ssh -p22' \
--numeric-ids \
--delete -r \
--link-dest=../backups/websites/testsite.co.uk/17-06-2018/ [email protected]:~/public_html 18-06-2018/;
誰もがパスが何であるかを明確にすることができますか?
スクリプト.shファイルはマイコンピュータにあります。
/Users/myname/Desktop/
その後、私のディレクトリのフルパスは次のようになります。
/Users/myname/Desktop/backups/websites/testsite.co.uk/17-06-2018/
/Users/myname/Desktop/backups/websites/testsite.co.uk/18-06-2018/
ご案内のお手伝いをいただきありがとうございます。
答え1
rsync -av --link-dest=/path/to/previous/backup/ source/ /path/to/this/backup/
あなたの場合は、(必要ではない可能性があり、最後にaが必要です)source/
に変更し、(可能であれば)ローカルコンピュータで絶対パスを使用します。絶対パスを使用すると、どのディレクトリでコマンドを実行するかを気にせずにコマンドを実行できます。[email protected]:public_html/
~
/
-e 'ssh -p22'
デフォルトでは使用されるため、必要ではなくオプションに含まれています-r
。-a