[2024.06.30]
01. 스케줄러
1) 주기적: cron
> 데몬: crond
2) 스케줄 편집
#crontab -e
[분] [시] [일] [월] [요일] [실행할 명령어]
[분]: 00~59
[시]: 00~23
[일]: 1~31
[월]: 1~12
[요일]: 0(일요일)~6(토요일).......... 일요일(0, 7)
[실행할 명령어]: /home/yrg/test.sh
오늘은 처음 스케줄러 실습을 진행하기 전에 파일 하나를 생성한다
파일 생성 후 채널 모드 명령어로 test.sh 파일로 변경한다
그 후에 ./test.sh를 입력하게 되면 기존 test.sh와 더불어
파일에 입력했던 passwd, shadow 파일까지 생성된다
이번에는 crontab 명령어를 이용하여 스케줄러 실습을 진행해 보려고 한다
만들어 뒀던 test.sh 파일에서 passwd 부분만 group으로 변경시켜 주고,
crontab -e를 실행하여 앞부분에 분과 시간을 입력하고 차례대로 입력해 준다
그런 다음 14시 46분까지 기다린 다음 확인하게 되면 group 파일이 생성되어 있다
기존의 test.sh 파일을 해당 화면처럼 수정해 준다
그 다음 crontab -e를 이용하여 시간 설정도 하고
crontab -l을 이용하여 시간 설정 명령어를 확인까지 해 주고 기다리기만 하면 된다
정해진 시간에 다시 확인해 보면 yrg 디렉터리 안에 dir1, 2 디렉터리가 생성됐고,
각각의 디렉터리 안에 지정한 파일들이 생성된 걸 확인할 수 있다
이번에는 vi test2.sh 파일을 만들고 crontab을 이용하여 실행시킨다
test2.sh에 삽입할 내용
crontab -e로 시간 설정
실행 전에 기존 파일 확인
설정한 시간에 맞춰서 다시 확인 시에 backup 디렉터리와 backup.tar 압축 파일이 생성된다
backup 디렉터리에 복사를 해 놨기 때문에 해당 디렉터리에도 압축 파일이 존재하게 된다
--------------------------------------------------------------------------------------------
[디스크 관리]
01. 디스크 추가
1) HDD 추가
2) 파티션 나누기
#fdisk [옵션] [장치명]
#fdisk /dev/nvme0n2
3) 파일 시스템 생성
#mkfs.xfs [옵션] [장치명]
#mkfs.xfs /dev/nvme0m2p1
4) 마운트
#mount /dev/nvme0n2p1 /mnt
5) 언마운트
#umount /mnt <-- 마운트 포인트를 이용한 언마운트
#umount [장치명] <-- 장치명을 이용한 언마운트
-> umount /dev/nvme0n2p1
6) 자동 마운트
> /etc/fstab
[장치명] [마운트 포인트] [파일 시스템 종류] [defaults] [덤프 여부] [오류 검사]
/dev/hda1
/dev/sda2
위의 둘은 CentOS 7까지 지원되는 형식이었으며,
현재는 /dev/nvme0n1p1의 형식으로 변경되었다
> 파티션 종류
1) 기본 파티션(Primary Partition)
2) 확장 파티션(Extended Partition)
3) 논리 파티션(Logincal Partition)
Rocky linux에서 디스크명이 조금씩 바뀌었다
p1은 파티션 넘버이고, n1은 하드디스크 넘버다
하드 디스크의 원리를 설명하게 되면 하나의 하드 디스크가 있지만,
파티션을 두 개로 나누면 뒤에 붙는 파티션의 숫자가 1, 2로 나뉘어지게 된다
디스크 추가 실습을 위해 디스크 추가부터 진행한다
linux를 종료시키게 되면 화면에서 Edit virtual machine settings를 찾아서 클릭한다
아래에 있는 Add를 누르게 되면 추가 설정 가능한 목록이 있는데,
현재로는 하드 디스크를 누르고 다음을 눌러 준다
NVMe로 설정
전에는 SCSI도 많이 쓰였지만, 현재는 권장 설정이 NVMe이다
Create a new virtual disk 선택
40으로 설정하고 single file 선택
여기에서도 다른 거 설정할 필요 없이 Finish를 눌러 준다
fdisk -l로 확인했을 때 /dev/nvme0n2라는 디스크가 생긴 것을 볼 수 있다
파티션은 설정하지 않았기 때문에 설정된 항목만 나타난다
파티션을 기본적으로 4개 정도 나눌 수 있다
마지막 네 번째 파티션을 확장 파티션으로 설정한다
그 다음 논리 파티션으로 만들기 때문에 모두 필요하다
fdisk 명령어로 파티션을 설정한다
첫 화면에서 m을 누르게 되면 설정 시 필요한 명령어를 확인할 수 있다
그 중에서 중요한 항목을 체크했다
그 다음 새로 만들기 위해서는 n을 입력
그 다음은 기본 파티션 p를 누르지만,
이미 기본값이 p로 설정되어 있기 때문에 Enter 키만 눌러도 상관없다
1-4의 경우 4개까지 파티션을 나눌 수 있다는 뜻이고,
2048-83886079 부분은 2048부터 사용할 수 있으며 83886079는 시스템에서 사용하는 용량이다
이번에도 입력할 필요 없이 Enter 키만 눌러 준다
새 파티션 1번이 생성되었음을 알리는 메시지가 나타나게 된다
그 다음p를이용해 생성된 디스크 내용을 확인하며, 파티션도 확인할 수 있다
Linux에서 파티션은 Id로 식별하게 된다
w가 저장 명령어로 첫 번째 Sectors에 사용할 수 있고,
40GB의 용량을 사용할 수 있다
파티션 설정 후 파일 시스템을 설정하기 위해 mkfs.xfs를 실행한다
파일 시스템을 생성하고도 df로 확인 시 아무것도 나타나지 않는다
기본적으로 root 디렉터리의 mnt에 저장해야 한다
그렇기 때문에 마운트로 경로를 설정하게 되면 디스크가 추가되는 것을 확인할 수 있다
마운트 디렉터리에 마운트 명령어로 사용할 수 있게끔 만들어 뒀기 때문에
마운트 디렉터리에서 40GB 용량을 자유자재로 사용할 수 있게 된다
언마운트를 하기 위해서는 마운트를 한 디렉터리를 벗어나서 사용해야 된다
마운트를 실행한 디렉터리에서 언마운트를 할 경우 target is busy로 에러가 발생한다
vi fstab 파일에 마지막 줄 두 줄을 삽입
파일을 만들고 생성 후 리부팅을 한다
리부팅 후 다시 df로 확인하게 되면
각각 /home/mount와 /mnt 디렉터리에 생성된 걸 확인할 수 있다
마지막으로 앞서 했던 내용을 따라서 차례대로 복습한다
강의 소감
오늘도 초반부터 디렉터리 설정이 꼬여 버려서 오늘 수업에 유독 신경을 많이 썼다
삭제에도 주의를 기울여야 될 점이 내가 기존 디렉터리까지 전부 삭제해 버려서 snapshot을 되돌리게 됐다
그래도 이런 실수로 인해 주의사항도 알게 되고, 이번에는 스케줄러를 통한 실행법과
디스크 추가 방법까지 알게 되어 더 많은 걸 배웠다
이 블로그를 적으면서 복습 겸 공부하고 있고 앞으로도 밀리지 않게 열심히 또 열심히 해야겠다