rsyncデーモンを介してリモートファイルセットを同期しようとしたが、生成されたパスに初期パス要素がありません。
$ rsync -HRavP ftp.ncbi.nih.gov::refseq/H_sapiens/README 2015-05-11/
receiving incremental file list
created directory 2015-05-11
H_sapiens/
H_sapiens/README
4,850 100% 4.63MB/s 0:00:00 (xfr#1, to-chk=0/2)
sent 51 bytes received 5,639 bytes 3,793.33 bytes/sec
total size is 4,850 speedup is 0.85
$ tree 2015-05-11/
2015-05-11/
└── H_sapiens
└── README
結果ツリーには、リモートパスの最初の部分(「refseq」)がありません。
私はリモートパスの最初の要素をターゲットパスに追加できることを知っていますが、これはrsyncの期待される動作ではないようです。
rsync -HRavP refseq/H_sapiens/README 2015-05-11/
ソースがローカルファイルの場合、相対パス全体がターゲットディレクトリに正しく作成されることに注意する価値があります。
答え1
rsyncデーモンを使用すると、パスの最初の部分はフォルダではなくリポジトリのように扱われます。 rsyncデーモンはconfファイルからこのリポジトリファイルのフルパスを見つけ、リポジトリ名はターゲットパスから削除されます。予想される動作を得るには、デーモンをスキップしてsshだけを使用してください。 「ssh-keygen」および「ssh-copy-id」バイパスパスワードを使用してSSHキーを設定する必要がある場合。