TIL

[에스넷시스템 부트캠프] TIL Day18 - Crontab, autofs, swap

yulee_to 2025. 6. 14. 00:07
728x90

1. Crontab

Crontab은 특정 시간과 날짜에 명령어나 스크립트를 자동으로 실행하도록 예약하는 기능이다.
최소 단위는 1분이며, 반복적이고 주기적인 작업 자동화에 자주 사용된다.

  • minute과 hour를 0으로 설정하면 정각에 시스템 작업과 충돌할 수 있음 → 피하는 것이 좋음
  • day of month에 29, 30, 31 사용 시 월에 따라 존재하지 않을 수 있음

 

명령어  설명
crontab -e 현재 사용자 크론탭 편집
crontab -l 등록된 크론 작업 확인
crontab -r 크론 작업 전체 삭제
systemctl restart crond 크론 서비스 재시작

 

 

2. 자동마운트 서비스 - autofs

autofs는 NFS나 SMB 같은 네트워크 파일 시스템을 자동으로 마운트/해제해주는 데몬이다.

 

  • 접근할 때만 mount, 사용이 끝나면 자동으로 umount
  • /etc/fstab에 등록하지 않아도 됨 → 불필요한 네트워크 연결 최소화
  • root 권한 없이 접근 가능
  • 클라이언트 측에서 구성, 서버는 단순히 공유만 제공
💡 기존 NFS 문제점

fstab에 등록하게 되면 영구적인 마운트가 가능. 하지만 라인이 등록될 때마다 네트워크를 사용해 라인이 많아지면 부담도 커졌음. 당장 사용하지 않는 NFS도 항상 연결되어 있음

-> 사용할 때만 연결하는 autofs로 해결

 

 

매핑 방식

방식  설명
간접 매핑 하나의 디렉토리 아래 여러 서버 연결 시 사용. 예: /nfs/server1, /nfs/server2
직접 매핑 고정된 경로 하나에 단일 서버 연결. 예: /data는 항상 하나의 서버

 

 

3. swap

https://velog.io/@eoveol/Linux-Swap-memory

Swap은 시스템 메모리가 부족할 때, 사용률이 낮은 데이터를 디스크 공간에 임시로 저장하는 영역이다.

 

언제 스왑을 사용할까?

  • 시스템 메모리가 부족한 상황
  • 애플리케이션이 스왑 사용을 요청하는 경우
  • 커널이 페이지 교체를 결정한 경우
❗ 스왑을 늘리면 성능이 좋아질까?
NO.
스왑은 디스크에 위치하기 때문에 메모리보다 훨씬 느리다.
스왑은 성능 향상을 위한 것이 아니라, 시스템이 죽지 않게 버티게 해주는 안전장치이다. 

 

 

 

✍️ 하루 회고

Crontab은 예전에 졸업 프로젝트에서 데이터 수집 자동화를 위해 간단히 사용해본 적이 있다.
그 당시에는 급하게 필요한 부분만 구현했었는데, 이번에 다시 학습하면서 정각 충돌을 피해야 하는 이유, 시간 필드의 구성 방식, 주의할 점들을 알 수 있었다.
추후에 비슷한 작업을 하게 된다면, 단순히 예약만 할 게 아니라 Crontab이 정상 작동했는지를 확인할 수 있도록 로그 파일을 별도로 작성해보면 좋겠다는 생각이 들었다.

 

또한, 스왑(Swap)은 백엔드 개발 중에도 종종 등장했지만 정확한 개념이 애매하게 남아 있었다.
이번 학습을 통해 스왑이 성능 향상을 위한 것이 아니라 메모리 부족 시 시스템을 보호하기 위한 안전장치라는 점을 확실히 이해할 수 있었다.
단순히 시스템 자원으로만 생각하지 않고, 운영 환경에서 어떻게 적용되는지를 고려하면서 활용하는 게 중요하겠다고 느꼈다.

 

728x90