홈 › 리눅스 명령어 › 10 / 10

링크 · 디스크 · 예약 작업 (ln·mount·crontab)

섹션 7진행 0 / 10

4. 응용 변형 예제

4.1 무중단 배포 스위칭

새 버전을 release-N 에 통째로 풀고 헬스체크까지 마친 뒤 ln -sfn release-N current 한 줄로 전환합니다. 문제가 보이면 ln -sfn release-N1 current 로 즉시 되돌립니다. 서비스 프로세스는 재시작만 하면 됩니다.

4.2 로그 전용 파티션 분리

/var/log 를 별도 파티션으로 마운트하면 로그가 넘쳐도 루트 파티션은 안전합니다. du -xsh /var/log 로 그 파티션만의 사용량을 확인하고, 임계치를 넘으면 알림을 보내는 cron 작업을 붙입니다.

4.3 백업과 flock 조합

여러 서버가 같은 공유 스토리지에 백업을 쓸 때 동시에 실행되면 파일이 깨질 수 있습니다. crontab 라인 앞에 flock -n /tmp/backup.lock 을 붙이면 먼저 잡은 프로세스만 실행되고 나머지는 조용히 건너뜁니다.

4.4 systemd timer 로 cron 대체

재부팅 중 지나간 시각을 보완 실행하고 싶다면 Persistent=true 를 쓴 timer 가 cron 보다 낫습니다. 실행 로그도 journalctl -u 서비스 로 한 곳에 모입니다. 이 예제는 문법 검토만 했습니다.

4.5 inode 고갈 대응

세션 파일·캐시 파일을 초 단위로 만드는 서비스는 용량이 남아도 inode 가 먼저 바닥납니다. df -i 를 모니터링에 넣고, 오래된 파일을 지우는 cron 작업이나 logrotate 배치를 함께 둡니다.