스크립트 언제 작성해야 할까요?
다수의 컴퓨터를 관리하는데 필요한 재현과 반복이 필요한 작업
- 스크립트 vs. 설정 관리 시스템 (Ansible, Salt, Chef, Puppet)
. 스크립트는 자유성과 유연성
. 설정 관리 스크립트는 탄력적으로 확장되는 체계적 시스템 관리 -> 실무에서는 두 방식을 같이 사용
예, 커스텀한 작업은 스크립트, 정형화된 작업은 설정관리 시스템
- 일반적인 사용
. 개인적으로 사용하는 짧고 간편한 스크립트를 ~/bin 디렉토리에 모아 보관 (별도 문서X)
. 극히 짧은 버전의 스크립트는 ~/.bashrc에 alias로 정의하기도 함
alias l = ‘ls -alh’
alias reload = ‘source ~/.bashrc’
alias editbash = ‘vi ~/.bashrc’
올바른 스크립트 언어 선택
- 스크립트 언어 선택지가 늘어 남
(이전) 시스템 관리용 스크립트 언어 == 셸 스크립트
(최근) 순차적인 명령을 자동화, 데이터를 처리하고자 여러 필터를 조합 등에 셸 스크립트 사용 -> 가벼운 작업에 사용
- 셸 스크립트
. (+) 이동성 좋음 (호출하는 명령 외에는 의존성이 적음)
. (+) 대부분의 환경에서 기본으로 동작
. ( -) 프로그래밍 언어로서는 매력적이지 못함
-> 구문이 특이, 고급 텍스트 처리 기능이 빠져 있음
- 파이썬, 루비
. 시스템 관리 업무에 적합한 현대적인 범용 프로그래밍 언어
. 외부 제약점이 적은 파이썬이 가장 유용한 시스템 관리자용 스크립트 언어
(+) 방대한 외부 패키지 <- 단, 운영에 사용하기 전에는 검토가 필요함
- 스크립트 작성 관련한 기본 가이드
. 부적절한 인수를 써서 실행했을 때는 사용법 메시지 출력
. 입력 데이터의 유효성을 검증하고 도출된 값들이 정상인지 확인 (예, rm -rf)
. 의미 있는 종료 코드 사용
-> 성공 시 0, 실패시에는 0이 아닌 값
. 변수, 스크립트, 루틴에 적합한 네이밍 규칙 사용
. 스타일 가이드 사용
-> 예) 파이썬 PEP8
. 주석 사용
-> 예) 스크립트가 무슨 일을 수행하는지, 어떤 매개 변수를 사용하는지에 대한 정보 포함
선택한 알고리즘, 참조한 웹사이트, 구현 이유 등도 유용
단, 과도한 주석은 가독성을 해칠 수 있음
. 기존 코드 재활용은 좋지만, 이해하지 못한 코드를 복사&붙여넣기는 지양
'리눅스 > Part3. Ch08. 스크립트 및 쉘프로그래밍' 카테고리의 다른 글
05. (실습) 리눅스 커맨드를 파이썬으로 구현 (0) | 2022.12.17 |
---|---|
04. 파이썬 실행 환경 구성 (0) | 2022.12.17 |
03. (실습) 인스턴스 ID 기반 SSH 연결 스크립트 작성 (0) | 2022.12.17 |
02. 기본 쉘 명령어 (0) | 2022.12.17 |