rsync bashスクリプト「計算できません」

rsync bashスクリプト「計算できません」

LANのsshを介してあるシステムから別のシステムにrsyncするbashスクリプトを作成しています。それは私にlink_statエラーを与え、ソースが完全にわからないディレクトリを参照しました。

このエラーは何を意味し、このパスはスクリプトからどこから来たのですか?

バックアップフォルダの場所は/home/user/rsynctest/です。

#!/bin/bash
rsync -av ssh ../Backup/ 192.168.100.120:/media/storage1/Backup

間違い...

    sending incremental file list
    rsync: link_stat "/home/user/rsynctest/Backup/ssh" failed: No such file or directory (2)

    sent 270 bytes  received 16 bytes  572.00 bytes/sec
    total size is 23  speedup is 0.08
    rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.1]

答え1

rsyncSSHを使用するように言う必要はありません。リモートパスが提供されると、デフォルトでそのパスが使用されます。コマンドラインの「ssh」は、コピーする別のファイルパスとして解釈されます。 rsyncプロセスはその名前のファイルが見つからないため文句を言います(その後、指定された次のパスをコピーします)。

だから変えなさい

rsync -av ssh ../Backup/ 192.168.100.120:/media/storage1/Backup

到着

rsync -av ../Backup/ 192.168.100.120:/media/storage1/Backup

答え2

以下を試してください。

rsync -av ../Backup/ -e ssh 192.168.100.120:/media/storage1/Backup 

または

rsync -ave ssh ../Backup/ 192.168.100.120:/media/storage1/Backup 

働かない理由:

sshファイルを転送する場合は、この-eフラグを使用する必要があります。マンページでは、

-e, --rsh=COMMAND は、使用するリモートシェルを指定します。

ここでは、を使用して経由-e sshでリモートシェルに接続することを指定しますssh stream。 rsyncの仕組みについてもっと知りたい場合は、ssh次のURLを確認してください。

rysncはSSHでどのように機能しますか?

関連情報