Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- JDBC
- JPA
- 커밋 되돌리기
- @Autowired
- 기본키 전략
- 컴파일 타임 상수
- 런타임 상수
- 쿠키
- BindingResult
- 편향된 지수
- spring
- Git
- 은행원알고리즘
- 티스토리챌린지
- 오블완
- 프로그래머스
- API
- 알고리즘
- 백준
- 쉘 스크립트
- 파이썬
- @SubscribeMapping
- application layer
- DTO
- 무한정 대기
- m:n
- 리눅스
- allocationSize
- compgen
- intelij spring config
Archives
- Today
- Total
둘셋 개발!
[Linux] 쉘 스크립트를 작성해야하는 이유 본문
본 내용은 'KT 리눅스 쉘 스크립트 프로그래밍 교육'에 기반한 내용입니다.
쉘이란
커널을 이용할 수 있는 인터페이스 이다.
OS가 커널을 동작할 수 있게 하는 명령어들을 실행할 수 있는 공간이다.
쉘 스크립트란
연관 명령어들의 집합체이다.
쉘 스크립트를 실행하면 스크립트의 내의 명령어들이 차례대로 실행된다.
왜 쉘 스크립트를 작성해야할까?
반복적인 작업을 자동화 하기 위해서 이다.
개발자가 주기적으로 백업을 해야하거나,
웹 서비스가 다운되면 자동으로 재시작을 해야 하거나
에러로그가 발생했거나
디스크 용량이 일정 퍼센트를 넘으면 개발자에게 이메일을 보내는 등의 작업들을 쉘 스크립트로 작성한 후 설정만 하면 해당 작업을 자동화 할 수 있다.
사용 예시 정리
1) 매일 특정 시간에 디렉토리의 내용을 주기적으로 백업하기2) system log의 에러 메시지만 관리자에게 이메일 전송하기3) 시스템의 디스크 사용량을 모니터링 후 이메일 보내기
4) 웹 서버가 다운 되었을 때 자동으로 재시작하기
예시 중에 1번의 경우를 실습했다.
매일 특정 시간에 디렉토리의 내용을 주기적으로 백업
개발자가 직접 매번 백업을 하지 않아도 쉘 스크립트를 작성해두고 자동화 시켜놓으면 간편하다.
#!/bin/bash
# 백업할 디렉토리 지정
SOURCE_DIR="autoBackup_from"
# 백업 파일 저장할 디렉토리와 파일명 형식 지정
BACKUP_DIR="autoBackup_to"
DATE=$(date +%Y%m%d) # 현재 날짜를 YYYYMMDD 형식으로 저장
BACKUP_FILE="$BACKUP_DIR/data-$DATE.tar.gz"
# 백업 시작 메시지 출력
echo "Starting backup of $SOURCE_DIR to $BACKUP_FILE..."
# 실제 백업 작업 실행 (tar 명령어로 압축)
tar -czf $BACKUP_FILE $SOURCE_DIR
# 백업 완료 메시지 출력
echo "Backup completed successfully."
autoBackup_from의 디렉토리를 autoBackup_to의 디렉토리로 백업하겠다는 내용이다.
파일이름은 현재 날짜로 했다.
현재는 이렇게 폴더구성이 되어있다.
파일을 실행하기전 권한을 주고
chmod +x backup_data_uni.sh
실행하면
다음과 같이 autoBackup_to 디렉토리에 현재 날짜로 된 압축파일이 생겼다!