1. rsync 설치
당연히 rsync가 설치되어 있어야 한다.
2. 일반적인 사용
rsync -avz -e "ssh -p 22" ip.sh 이 이메일 주소가 스팸봇으로부터 보호됩니다. 확인하려면 자바스크립트 활성화가 필요합니다.:/test/
password: 라면서 패스워드를 물어보게 된다.
3. expect 활용
expect <<EOF
spawn rsync -avz -e "ssh -p 22" ip.sh 이 이메일 주소가 스팸봇으로부터 보호됩니다. 확인하려면 자바스크립트 활성화가 필요합니다.:/test/
expect "password:"
send "passpass\r"
expect eof
EOF
- 결과
# rsync_test.sh spawn rsync -avz -e ssh -p 22 ip.sh 이 이메일 주소가 스팸봇으로부터 보호됩니다. 확인하려면 자바스크립트 활성화가 필요합니다.:/test/ 이 이메일 주소가 스팸봇으로부터 보호됩니다. 확인하려면 자바스크립트 활성화가 필요합니다.'s password: sending incremental file list testfile.txt sent 224 bytes received 31 bytes 510.00 bytes/sec total size is 213 speedup is 0.84
4. 오류
"ssh -p 22" 를 'ssh -p 22' 와 같이 Single Quotation으로 사용하면 오류 발생
- 결과
# rsync_test.sh
spawn rsync -avz -e 'ssh -p 22' ip.sh 이 이메일 주소가 스팸봇으로부터 보호됩니다. 확인하려면 자바스크립트 활성화가 필요합니다.:/test/
Missing trailing-' in remote-shell command.
rsync error: syntax or usage error (code 1) at main.c(361) [sender=3.0.6]
send: spawn id exp4 not open
while executing
"send "passpass\r""