리눅스 분류
스크립트 실행시 지연시간 설정
작성자 정보
- 임우빈 작성
- 작성일
컨텐츠 정보
- 2,366 조회
- 1 댓글
- 0 추천
- 목록
본문
e스크립트를 실행해서 자동으로 원격서버로 접속해서 데이터를 백업하는 것을 하고 있습니다.
헌데 접속하는 컴퓨터에서 서버로 접속시
expect를 이용한 자동 비밀번호 입력을 되게 할려고 스크립트로 만들어 놨는데
#!/usr/bin/expect -f
## xxx.xxx.xxx.xx
log_user 0
spawn rsync -avPz --stats -l -t -e ssh root@xxx.xxx.xxx.xx:/xxx/ /backup/xxx/
expect "root@xxx.xxx.xxx.xx's password:"
send "xxxxxxxxxx
"
log_user 1
interact
이런식으로 스크립트를 작성했습니다.
문제는 접속하는 부분에서 왜그런지 모르지만.. 시간이 많이 지연되더군요
iptables로 방화벽 구성해놔서 그런데
iptables 초기화 시키면 잘 됩니다.
근데 보안상 그럴수가 없으니 다시 iptables 셋팅하고
저걸 실행하면
rsync 부분에서 한참 지연되다가 expect 부분에 있는 패스워드 묻는 문구가 나오지도 않았는데
send 부분이 입력되고
한참 뒤에 다시 비밀번호 입력하라고 나옵니다.
그러니 거기서 이미 send가 지나가버린 상태라 더이상 진행이 안되는 것이지요
이거 스크립트 상에서 시간 지연시킨후 다른 문장이 실행되게 하는 방법이 없는지요?
아니면 iptables 설정했을때 왜 지연되는지 알고 싶습니다 .
ㅡ0ㅡ 난감하네요
관련자료
-
이전
-
다음
댓글 1
지나가다님의 댓글
- 지나가다
- 작성일
#!/usr/bin/expect
spawn rsync -avPz --stats -l -t -e ssh root@xxx.xxx.xxx.xx:/xxx/ /backup/xxx/
expect -re "Password:"
sleep 0.2
send "xxxxxxxxxx "
interact
혹은
http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=57578&page=2
spawn rsync -avPz --stats -l -t -e ssh root@xxx.xxx.xxx.xx:/xxx/ /backup/xxx/
expect -re "Password:"
sleep 0.2
send "xxxxxxxxxx "
interact
혹은
http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=57578&page=2