質問

私はrsyncを使用してバックアップに私のファイルをbashスクリプトを作成しています。

バックアップは、すべて単一のディレクトリから来ます。 私は、新規または変更されたファイルをバックアップすることにしたい。

現在、私はバックアップにDIRをrsyncのを言っていて、最後のバックアップに比べてファイルを確認してます。

私はこれをやっている方法です。

THE_TIME=`date "+%Y-%m-%dT%H:%M:%S"`
rsync -aP --link-dest=/Backup/Current /usr/home/user/backup /Backup/Backup-$THE_TIME
rm -f /Backup/Current
ln -s /Backup/Backup-$THE_TIME /Backup/Current

私はかなり確信して、私はこのための正しい構文を持っています。各バックアップには、「現在」フォルダに対してチェック、およびnecesaryとしてのみアップロードされます。その後、現在のフォルダーを削除し、それだけでやった、最新のバックアップへのシンボリックリンクを再作成します。

私は、スクリプトを実行すると、私はエラーを取得しています:

rsync: link "/Backup/Backup-2010-08-04-12:21:15/dgs1200series_manual_310.pdf"
     

=> /Backup/Current/dgs1200series_manual_310.pdf   失敗:操作がサポートされていない(45)

は、ホストOSは、ハードリンクをサポートHFSファイルシステムを、実行されています。私は何か他のものがこれをサポートしていない場合に把握しようとしています、または私は自分のコードに問題がある場合。

任意の助けてくれてありがとう。

編集ます:

私は自分のローカルマシン上のハードリンクを作成することができています。 私も、リモートサーバー上のハードリンクを作成することができています(ローカルでログインした場合) AFP経由でマウントされたとき、私は、リモートサーバー上のハードリンクを作成することはできませんよ。両方のファイルはサーバー上に存在する場合であっても。

私は、これは、AFPの制限です推測しています。

役に立ちましたか?

解決

はmanページからの2つのことはチェックする価値があるという目立ちます

  

ファイルのリンクがされていない場合は、その属性をダブルチェック。さらに                 いくつかの属性は、rsyncの者の強制外を取得しているかどうかを確認                 コントロール、単一のルートをsquishesなAマウントオプション                 ユーザー、または一般的な所有権とリムーバブルドライブをマウント(など                 OS Xのようオプション)「このボリューム上の所有権を無視」ます。

  前2.6.1にrsyncのバージョンでは、その可能性のあるバグがあったことを

注                 非スーパーユーザーのために正常に動作--link-DESTを防ぎます                 -oは(-aまたは暗示)指定されたとき。あなたは仕事アラウンドすることができます                 古いrsyncのに送信-oオプションを避けることで、このバグます。

あなたは「所有権を無視する」オプションを持っていますオンになって?あなたが持っているんrsyncのバージョンは何?

また、手動でコマンドラインでlnを使用して、同様のハードリンクを作成しようとしている?

他のヒント

あなたのコマンドラインは一例で念のために:いつもの絶対のパス名とリンクdestのディレクトリを指定してください!それ...

を把握する私にかなりの時間がかかったの何か

これは同じ問題であるかどうかは知らないが、私はそれrsyncは先がFAT32パーティションとファイル名を持っているされ、同期ファイルことはできません知っている。それには(コロン)「」。 [ソースファイルシステムはEXT3であり、宛先がFAT32である

それはコロンを使用し、それが違いを作るかどうかを確認しないようにdateコマンドを再設定してください。

例えばます。

THE_TIME=`date "+%Y-%m-%dT%H_%_%S"`
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top