Macro (Shell Script & TeraTerm(TTL))
셸 스크립트와 테라텀 매크로로 자동화 방법 소개 (Introduction to Automation Methods with Shell Script & TeraTerm Macro)
Shell Script
Shell Script 개념 및 사용 목적
셸 스크립트(Shell Script)는 동일한 작업의 반복을 줄이기 위해 리눅스 운영체제에 쓰이는 스크립트로 보통 배치파일이라 부르기도 한다. Linux 운영체제에서는 스크립트 종류로는 bash/csh/ksh 등 있다. [1]
Script 자주 쓰는 명령어 : grep, awk, sed
(OS에서 스스로 실습을 해보시길 바랍니다.)
1. grep 설명 :
입력으로 전달된 내용에서 특정 문자열을 찾고자 할 때 사용하는 명령어 [2]
grep "test" : "test" 문자열이 포함한 행들을 전부 출력
예) rpm -qa | grep "vnc"
grep -v "test" : "test" 문자열을 있는 행을 제외한 나머지 내용 출력
예) rpm -qa | grep "vnc" | grep -v "tiger"
2. awk 설명 :
텍스트를 처리를 위해 사용하는 명령어로, 텍스트 형태로 되어있는 데이터를 필드로 구분하여 출력한다.[3]
awk "NR>=5" : 5번째 줄부터 결과 출력
예) rpm -qa | awk "NR>=5"
awk "/test/" : "test"라는 단어가 포함한 행들을 전부 출 (grep "test"와 같음)
예) free -m | awk "/Mem:/"
awk '{print $3}' : 3번 칼럼만 출력
예) df -h | awk '{print $3}'
awk '{print $NF}' : 마지막 칼럼만 출력
예) df -h | awk '{print $NF}'
3. sed 설명 :
stream editor의 약자로, 텍스트를 구문 분석하고 변환하기 위해 사용한다. [4]
sed "s/test/done/g" : "test"단어를 "done"으로 변
예) df -h | sed "s/%//g"
Script 기초 구성
1. Shell Script 빈 파일 생성 (파일 이름 끝에 .sh를 입력)
# vi sample.sh
2. vi에디터로 Shell Script 파일 작성
3. Shell Script 실행 가능하도록 권한 변경
# chmod 777 sample.sh
4. Shell Script 실행
# ./sample.sh
TeraTerm(TTL)
TeraTerm 매크로 사용 목적
TeraTerm는 오픈 소스 무료 터미널 프로그램으로, 이에 존재하는 Macro는 반복 test를 아주 간편하게 사용하기 위해 자동 로그인 및 자동 로그 오픈 등 다양한 기능을 제공한다. [5]
매크로 실행 방법
TeraTerm 실행창에서 [제어] -> [매크로]를 클릭 후 ttl파일 실행
TTL 코드 리뷰
1. 서버 접속 및 로그인
1-1. telnet 접속
connect '1.1.1.1:23 /telnet' // telnet으로 IP 1.1.1.1로 서버 접속
wait 'login' // "login"이라는 단어가 나올 때까지 기다린다.
sendln 'sample' // 서버 계정 ID 입력
wait 'Password' // "Password"이라는 단어가 나올 때까지 기다린다.
sendln 'samplepw' // 서버 계정 PW 입력
1-2. ssh 접속
connect '1.1.1.1:22 /ssh /auth=password /user=sample /passwd=samplepw'
// ssh로 IP 1.1.1.1로 서버 접속
// auth=password --> 인증 방식을 계정 로그인으로 선택
// user=sample --> 서버 계정 ID 입력
// passwd=samplepw --> 서버 계정 PW 입력
2. 로그 시작
logopen 'sample.log' 0 0 // 'sample.log'로 파일 이름 정한 후 로깅 시작
pause 1 // 1초간 대기
3. Shell Script 실행
sendln 'cd /home/sample/' // 'cd /home/ONS/checklist/' 명령어 입력
wait 'sample' // 'ONS'이라는 단어가 나올 때까지 기다린다.
sendln './sample.sh' // './ONS_TB_checklist_sample.sh' 명령어 입력
pause 4 // 4초간 대기
4. 로그 및 TeraTerm 종료
logclose // 로그 종료
closett // TeraTerm 종료
Script Example
스크립트 예제파일을 드립니다. 이 예제파일은 Linux ETC의 환경구성요소들을 백업용도로 사용하기 위해 만들었습니다. 예제스크립트를 열어보시면 자세하게 주석을 달아 이해하시기 쉽도록 설명했고, 이 예제파일로 Script 실행방법의 순서대로 실습해보시길 바랍니다.
Script 실행 방법
sample.sh 대신 위에 BackupScript_by_yun 파일을 다운로드 하신 후, 실습해보십시오.
1. FileZilla로 만들어 놓은 Shell Script를 서버로 전송
2. Script 파일 넣을 디렉토리 생성
# mkdir -p /home/sample
3. Script 파일 경로 이동
# cd /home/sample
# mv ./sample.sh /home/sample
4. 파일 소유자 권한 변경
# chown [소유권자]:[그룹식별자] /home/sample
5. 파일 실행할 수 있도록 권한 변경
# chmod 777 /home/sample/sample.sh
6. Shell Script 실행 # ./home/sample/sample.sh
Reference
[1] Shell script : From Wikipedia, the free encyclopedia [2] 리눅스 grep 사용법 made by 어쩐지 오늘은 [3] awk : From Wikipedia, the free encyclopedia [4] sed : From Wikipedia, the free encyclopedia [5] Tera Term : From Wikipedia, the free encyclopedia
Last updated