rsyncが見つからないのはなぜですか?


16
rsync -avP /home/user/.profile hpux3:/home/user/.profile
bash: rsync: command not found

hpux3マシンにsshを実行した場合

rsync  
version 3.1.1  protocol version 31
Copyright (C) 1996-2014 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
output truncated

私が設定しているPATH$HOME/.profileして$HOME/.bashrc/etc/profileファイルに設定する必要がありますか?


rsyncコマンドは、ローカルマシン上に存在しなければなりません。
ott--

1
もちろん両方のマシンに存在しています
-elbarna

回答:


26

.profileインタラクティブにログインしたときのみ、あなたが読まれます。別のマシンへのrsyncコネクトは、コマンドを実行するには、とき/etc/profile~/.profile読まれていません。

ログインシェルがbashである~/.bashrc場合、読み取られる可能性があります(これはbashの癖です- ~/.bashrc非ログインのインタラクティブシェルによって読み取られ、状況によってはログインの非インタラクティブシェルによって読み取られます)。ただし、これはすべてのバージョンのbashには当てはまりません。

rsyncを動作させる最も簡単な方法は、おそらく--rsync-pathオプションを渡すことです。例えば

rsync --rsync-path=/home/elbarna/bin/rsync -avP /home/user/.profile hpux3:/home/user/.profile

キーベース認証を使用してSSH経由でログインする場合、をPATH介して環境変数を設定できます~/.ssh/authorized_keys。キーを使用してSSH経由でログインするときにロードする方法の説明については、ssh経由のsh起動ファイルを参照してください.profile


7
注:--rsync-pathrsyncリモートコンピューターのパスを設定するために使用されます。(一見、同じマシン上でrsync起動中にどのようにパスを指定できるのか疑問に思っていましrsyncた)
-AL

@Gilles「SO-悪であるのをやめなさい」なぜ私がこれをしなければならないのか考えてみてください。Bashはデフォルトのシェルではありません。Kshはデフォルトのシェルです。kshでログインしてからbashに切り替えます。
cokedude

@cokedude rsyncがシステムレベルではなくアカウントにインストールされている場合、それを使用できるようにするにはアカウントで何らかの設定を行う必要があります。rsyncバイナリをどこかに置くだけでは十分ではありません。バイナリが見つかるように調整する必要もあります。
ジル 'SO-悪であるのをやめる'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.