SSH 구성

SSH 구성

각 원격 호스트에 대해 기본 rsync 옵션을 지정하는 방법이 있습니까? 예를 들어, 주소가 192.168.100.12인 NAS가 있는데, rsync 경로는 이고 SSH 포트는 2222입니다. rsync 명령을 호출할 때마다 /opt/bin/rsync이를 수동으로 지정해야 한다는 점은 짜증납니다 .--rsync-path=/opt/bin/rsync -e 'ssh -p 2222'

답변1

rsync구성 파일이 없습니다.

다음에서 별칭을 사용할 수 있습니다 .bashrc.

alias nassync="rsync --rsync-path=/opt/bin/rsync -e 'ssh -p 2222'"

답변2

SSH 구성

다음에서 SSH 옵션을 설정할 수 있습니다 ~/.ssh/config.

Host nas
    Hostname my-home-nas.duckdns.org
    Port 2222
    User app

nas그런 다음 SSH를 사용하여 명령을 통해 참조할 때마다 이러한 옵션이 적용 됩니다.

rsync -avhP --bwlimit=5000 --size-only ./data/ nas:/backup/data/

원격 시스템에서는 export PATH=/opt/bin/:${PATH}상위에 위치하도록 설정하여 우선순위를 갖도록 ~/.profile할 수 있습니다 ./opt/bin/usr/local/bin

명령으로

다른 사용자나 로그인 프로필이 없는 사용자가 명령에 액세스할 수 있도록 하려면 나머지 사용자를 위한 bash 스크립트를 생성할 수 있습니다.

/usr/local/bin/nas-rsync

#!/bin/bash
set -e
set -u

# --size-only so that metadata differences between FAT and EXT3
# or APFS don't cause retransfer

# add --bwlimit=5000 to limit bandwidth to 5MB/s - usefulif you have
# a really dumb switch that won't let other devices communicate when
# one device is maxing out a 100mbps connection

rsync -avhP --size-only -bwlimit=5000 /home/app/data/ nas:/backup/data/

관련 정보