각 원격 호스트에 대해 기본 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/