소개
resticprofile은 백업 도구 restic의 설정 파일을 효율적으로 관리하고 자동 스케줄링을 수행하는 오픈소스 유틸리티입니다. creativeprojects에서 개발한 이 프로그램은复杂的 백업 명령어 대신 직관적인 설정 파일을 통해 프로파일을 구성할 수 있게 도와줍니다. YAML, TOML 등 다양한 형식을 지원하여 여러 백업 작업을 한 곳에서 관리할 수 있습니다.
상세정보
프로파일 관리 및 설정
하나의 구성 파일에서 여러 백업 설정을 관리할 수 있으며, 프로파일 간 옵션 상속 및 그룹화 기능을 제공합니다. 설정 파일은 TOML(.toml, .conf), JSON(.json), YAML(.yaml), HCL(.hcl) 형식으로 작성할 수 있습니다. 템플릿 문법을 활용하여 동적인 설정도 가능합니다.
자동 스케줄링
백업, 보존, 검사 작업을 다양한 스케줄러와 연동하여 자동 실행할 수 있습니다. Windows 작업 스케줄러, systemd, launchd, crond를 포함한 여러 환경의 스케줄링을 지원합니다. 설정 v2에서는 여러 프로파일을 그룹으로 묶어 일괄 스케줄링하는 것도 가능합니다.
자동화 및 모니터링
백업 전후에 forget 명령 실행, 저장소 검사, 셸 명령 실행 등을 자동으로 수행할 수 있습니다. 오류 발생 시 셸 명령을 실행하거나 HTTP 훅으로 알림을 보낼 수 있으며, syslog 서버로 로그를 전송하는 기능도 있습니다. Prometheus 파일 생성이나 Push Gateway를 통한 메트릭 전송도 지원합니다. 상태 파일을 생성하여 모니터링 소프트웨어와 연동할 수도 있습니다.
설치 및 기본 사용
resticprofile을 다운로드하여 시스템 PATH에 추가한 후 사용할 수 있습니다. Windows에서는 winget을 통해 설치할 수 있습니다.
기본적인 사용 절차는 다음과 같습니다:
- YAML 형식으로 config.yml 파일을 생성합니다.
- 파일 내에 백업 대상, 저장소 경로, 보존 정책 등을 정의합니다.
resticprofile run <프로파일명>명령으로 즉시 백업을 실행합니다.resticprofile schedule명령을 사용하여 작업 스케줄러에 작업을 등록하면, 지정된 시간에 자동으로 백업이 수행됩니다.
지원 환경 및 요구사항
Windows, macOS, Linux, BSD 계열(OpenBSD, FreeBSD, NetBSD)에서 동작합니다. 언어는 Go로 작성되어 있으며, 실행을 위해 시스템에 restic이 설치되어 있어야 합니다.
제한 사항 및 확인사항
- Windows에서는 작업 스케줄러에 작업을 등록할 때 관리자 권한이 필요할 수 있으며, 프로그램이 자동으로 권한 상승을 요청합니다.
- 설정 파일은 하나의 형식(TOML, JSON, YAML, HCL)을 선택하여 사용해야 하며, 혼합 사용은 지원되지 않습니다.
- 그룹 스케줄과 같은 일부 고급 기능은 설정 파일 버전 v2에서만 사용할 수 있습니다.
- 시스템 배터리 사용 중에는 스케줄된 작업이 자동으로 중단될 수 있습니다.
활용 예시
백업 디스크를 마운트하고 언마운트하는 작업을 백업 전후에 자동으로 실행하거나, 백업 스트림을 stdin을 통해 전송하는 데 활용할 수 있습니다. 충분한 메모리가 있는지 확인한 후 백업을 시작하거나, 시스템이 유휴 상태로 잠자지 않도록 설정할 수도 있습니다.
시스템 요구사항
이 도구를 사용하려면 시스템에 restic 백업 프로그램이 별도로 설치되어 있어야 합니다. 버전 호환성은 restic 공식 문서를 참고하여 확인해야 합니다.


