2. 리눅스와 셸스크립트 - 셸 스크립트 자동화

여경·2023년 1월 19일

Archive

목록 보기
3/5



각자 컴퓨터 환경에서 사용할 수 있는 가상 환경(Virtual Machine)에서 리눅스 운영체제를 설치한다. 권장 설치 운영체제 : 권장버전 ubuntu 20.04 (18.04도 가능함)
가상 환경에 원격으로 접속할 수 있도록 ssh 설정을 하고, root 계정 이외에 본인 접속할 계정을 추가한다.
본인 계정에 대한 패스워드를 설정한다.
로컬 컴퓨터에서 가상 환경 리모트 컴퓨터에 ssh로 접속해서 본인 계정으로 로그인한다.
본인 계정에서 /backup 디렉토리를 생성하고 764 모드로 접근 권한을 바꿔서, 본인 계정으로 /backup 경로 아래에 파일을 생 성할 수 있도록 설정한다.
가상 환경에 오늘 날짜 + 서울 시간대로 지정해서 로컬과 가상 환경이 동일하도록 맞춘다. 가상 환경에서 터미널을 열고 date 명령으로 오늘 날짜를 출력한 상태로, 화면을 캡처한다. 가상 환경에 node.js v14.x를 설치하고 버전을 확인한다.
어제 작성한 day1 미션 js파일을 복사해서 실행한다.
무료 가상 환경
1. VirtualBox : https://www.virtualbox.org

가상 환경 요구사항
다음과 같은 동작을 하기 위해서 bash 쉘 스크립트를 작성한다.
/backup 경로 아래에 오늘 날짜로 20210625 형식으로 하위 디렉토리를 생성한다. 만약 이미 디렉토리가 있으면 무시한 다.
하위 디렉토리에 /var/log/syslog와 /var/log/dmesg 파일을 log20210625-1300.zip 형태로 압축하는 쉘 스크립트를 구현한다.
파일 이름은 log
{YYYYMMDD}-{hhmm}.zip 형태로 중간에 년월일-시분을 포함해야 한다. crontab 동작 방식을 확인하고 아래 조건을 설정한다.
위에 작성한 스크립트가 매 5분마다 (정각, 5분, 10분, ... 50분, 55분)마다 실행하도록 자동화한다.
매시각 29분과 59분에는 /var/log/syslog 파일을 /var/log/syslog_1로 복사한다. 만약 기존에 syslog_1 파일 이 있는 경우는 기존 파일을 지우고 복사한다.
로컬 환경 요구사항
로컬 환경에서도 bash 쉘 스크립트를 작성한다.
가상 환경에 scp 명령으로 /backup 경로 아래 오늘 백업한 zip 파일들 전체를 로컬로 복사한다. (패스워드를 입력하는 단계 를 생략할 필요는 없다.)

0개의 댓글