일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- map api v3
- eclipse hotdeploy
- ajax 동기방식처리
- 한국소프트웨어산업협회
- 폐업자에 대한 업종등의 정보내역
- mysql trigger
- 첫주 및 마지막주 날짜 전체 포함
- jquery selectbox change
- 2개 테이블
- multipart
- update
- TM128
- group by max
- Oracle
- extundelete
- http https
- partition by
- String[]
- 컴퓨터 드라이버
- ajax async
- checkbox 값처리
- remote ip
- 주소 좌표변환
- ant path pattern
- mysql
- 서브쿼리
- 아이폰키보드
- String 배열
- 접속ip
- KOSA
- Today
- Total
하은양 믿음군 효실맘 호홍홍집s
리눅스 rsync 시 비밀번호 자동입력 처리 쉘 스크립트 expect 본문
일반적으로 쉘스크립트( *.sh )를 실행시 비밀번호 입력하는 부분이 있는데
이런 부분을 자동으로 입력해주면 얼마나 고마울까...^^
찾아보니 expect라는 것이 있네요...
참. linux에 expect 가 깔려 있어야 합니다.
참고 : http://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_expect_%EC%84%A4%EC%B9%98
여기 사이트에 가면 까는 방법 있어용!
expect 관련 참조 사이트는
http://bs-secretroom.blogspot.kr/2013/08/expect-tpipe.html
보통 쉘스크립트는
#!/bin/bash
rsync -avz -e 'ssh -p 22' sshUser@XXX.XXX.XXX.XXX:/home/web/data/ /home/web/data/pic_path
위와 같이 작성하면 화면에
[root@home]# sshUser@XXX.XXX.XXX.XXX's password:
라고 물어본다..
이것을 expect를 이용해서 해보자.
#!/usr/bin/expect
spawn bash -c "rsync -avz -e 'ssh -p 22' sshUser@XXX.XXX.XXX.XXX:/home/web/data/ /home/web/data/pic_path";
expect -re "password"
send "사용자비밀번호\r"
interact
spawn bash 를 불러와서 bash 를 이용해서 쉘을 실행한다- 끝에 " ; "
expect -re 를 이용, 암호 및 입력해야할 내용이 발생하는 지점을 찾는다
=> [root@home]# sshUser@XXX.XXX.XXX.XXX's password: 에서 password 라는 부분임...
send 부분에서는 이 암호 및 입력해야할 내용을 입력 후, \r 입력 완료 메시지를 넣고
interact 암호 입력 쉘을 끝낸다
'가벼운 배움 > 서버관련' 카테고리의 다른 글
CentOS 7 자동업데이트 수동처리하기 (0) | 2016.08.10 |
---|---|
linux crontab 이용하기 (0) | 2016.06.15 |
linux User 생성 및 그룹 생성 (0) | 2016.05.02 |
CentOs apache + Tomcat 연동하기 (0) | 2016.04.26 |
Centos Tomcat 설치하기 (0) | 2016.04.26 |