今、私はこのコードを使ってコンピュータ間でコンテンツを同期しています。
nexus_ip=$(ip neigh | grep "nexus's mac addr" | grep -Eo '^[^ ]+')
function syncit () {
# rsync -rLEAXpogtP --delete "$1" "$2"
rsync -rulOHEAXpogtP --delete "$1" "$2"
}
while read source
do
destination=$nexus_ip:$(echo "$source" | grep -o '^.*/')
syncit "$source" "$destination"
done<<\_sources_list_
/.home/younes/.bashrc
/.home/younes/.bash_logout
/.home/younes/.bashrc.original
/.home/younes/.bash_aliases
/.home/younes/.profile
/.home/younes/.passwords
/.home/younes/.sh_history
/.home/younes/.python_history
/.home/younes/.how
/.home/younes/.kde/share/apps/yakuake/skins/younes
/.bin
_sources_list_
ネットワーク経由でrsyncを使用するときにsshパスワードを取得する方法についてGoogleで検索した結果、「--files-from」を使用してrsyncにリストを提供する必要があるため、パスワードを一度入力するだけで済みます。
私の質問は:--files-from???をどのように使用しますか?
すべてのソースを1つのファイルに収めるなら!目的地はどうですか?
本当に混乱しています!誰もが私のスクリプト情報に基づいた例を示すことができますか?お願いします
答え1
あなたは実行することができます
ssh-copy-id user@server
これにより、パスワードを再入力する必要がなくなります。
これを行う前に、以下を実行して実行できるローカルキーを生成する必要があります。
ssh-keygen