0

私はこの質問が何度も聞かれたことを十分に承知していますが、私の要件を満たす解決策を見つけることができません。

タスク->マシンAからマシンBにファイルを転送し、マシンBでスクリプトをリモートで実行する必要があります。私の制限により、 keygen、 expectユーティリティ、またはパッケージのインストールが必要なその他のユーティリティを使用できません。ファイルを転送するには、パスワードを入力する必要があり、URLでパスワードを入力したいと思います。これはbashスクリプト内で実行され、ユーザーの干渉を必要としないためです。

私の調査-scpを使用することを考えましたが、コマンドプロンプトでパスワードを指定することはできません。だから私は、rsyncから他の選択肢があるかどうか疑問に思います。

以下は小さな試みです

#!/bin/bash
PATH=/usr/bin:/usr/sbin:/bin:/sbin
USER="bob"
RSYNC_PASSWORD="blue"
MACHINE_B="192.168.200.2"
if ping -c 1 -W 1 $MACHINE_B
then
 echo "There is machine b as well"
 echo " cheking to transfer file to machine b"
    rsync lol.sh  192.168.200.2:/home/bob/
fi

ありがとう、よろしく、サム

4

2 に答える 2

1

上記のさまざまなオプションを試しましたが、残念ながら私の場合はどれも機能しません。しかし、私を助けてくれたみんなに感謝したいと思います。特に rsync について新しいことを学んだことは確かにほとんどありません。私の場合、それを機能させるには ssh キーに依存する必要があります。

于 2012-08-31T15:49:40.530 に答える
0

rsync の man ページから:

   Some modules on the remote daemon may require authentication. If so, you will receive a password prompt when you connect. You can avoid the  password
   prompt  by  setting  the  environment variable RSYNC_PASSWORD to the password you want to use or using the --password-file option. This may be useful
   when scripting rsync.
于 2012-08-21T11:56:06.160 に答える