각 Linux 배포판마다 별도의 유지보수 스크립트를 작성하는 것을 중단했습니다. 여러분도 할 수 있습니다.
Source: Dev.to
What it does
SYSMAINT는 Linux 배포판 전반에 걸쳐 시스템 유지보수를 통합하는 bash 스크립트입니다. 다음을 처리합니다:
- 패키지 업데이트 및 업그레이드
- 로그 회전 및 캐시 정리
- 오래된 커널 제거
- 보안 감사 (SSH, 방화벽, 서비스)
- JSON 텔레메트리 출력
같은 명령이 다음에서도 작동합니다:
- Ubuntu, Debian
- Fedora, RHEL, Rocky, Alma, CentOS
- Arch Linux, openSUSE
Why dry‑run matters
제가 가장 자랑스러워하는 기능은 드라이‑런 모드입니다.
sudo ./sysmaint --dry-run
이 명령은 실제로 무언가가 실행되기 전에 정확히 어떤 변화가 일어날지 보여줍니다—예상치 못한 상황이 없습니다. 어떤 패키지가 업데이트될지, 어떤 파일이 정리될지, 어떤 커널이 제거될지를 확인할 수 있습니다.
그 다음 실제 명령을 실행합니다:
sudo ./sysmaint
Automation
편해졌다면 자동화할 수 있습니다.
# Weekly automated maintenance
sudo ./sysmaint --auto --quiet
또는 systemd 타이머를 설정합니다:
sudo systemctl enable --now sysmaint.timer
JSON 출력 덕분에 모니터링 도구나 로그 집계 시스템과 쉽게 연동할 수 있습니다.
Production ready
저는 몇 달 동안 SYSMAINT를 프로덕션 환경에서 사용해 왔습니다. 확인된 결과는 다음과 같습니다:
- 평균 실행 시간: 3.5 분
- 메모리 사용량: < 50 MB
- 지금까지 예기치 않은 동작 제로
- 지원하는 9개 배포판 모두에서 일관된 결과
프로젝트에는 가장자리 케이스, 오류 처리, 크로스‑플랫폼 일관성을 다루는 500개 이상의 테스트가 포함되어 있습니다. ShellCheck는 오류를 제로로 보고합니다.
Give it a try
git clone https://github.com/Harery/SYSMAINT.git
cd SYSMAINT
sudo ./sysmaint --dry-run
MIT 라이선스로 제공되며, 포괄적인 문서와 단계별 탐색을 위한 인터랙티브 모드를 포함하고 있습니다.
