Skip to content
이 페이지는 AI의 도움으로 작성 및 번역되었습니다. 부정확한 내용이 있으면 개선에 참여해 주세요. GitHub에서 편집

예약 스캔

sd schedule 명령어는 정해진 간격으로 실행되는 반복 스캔 작업을 관리합니다. 예약 스캔은 실시간 모니터링을 보완하여 지정된 디렉토리의 정기적인 전체 스캔을 수행하고, 모니터링이 비활성화된 동안 누락되거나 도입된 위협을 잡습니다.

사용법

bash
sd schedule <SUBCOMMAND> [OPTIONS]

서브 커맨드

서브 커맨드설명
add새 예약 스캔 작업 생성
remove예약 스캔 작업 제거
list모든 예약 스캔 작업 나열
status마지막 실행 및 다음 실행을 포함한 예약 작업 상태 표시
run예약 작업 즉시 수동 트리거

예약 스캔 추가

bash
sd schedule add <PATH> [OPTIONS]
플래그축약기본값설명
--frequency-fdaily스캔 빈도: hourly, 4h, 12h, daily, weekly
--name-n자동 생성이 작업의 사람이 읽을 수 있는 이름
--recursive-rtrue디렉토리를 재귀적으로 스캔
--auto-quarantine-qfalse탐지된 위협 격리
--exclude-e제외할 글로브 패턴 (반복 가능)
--notifytrue탐지 시 알림 전송
--time-t임의선호하는 시작 시간 (HH:MM, 24시간 형식)
--day-dmonday주간 스캔의 요일

빈도 옵션

빈도간격사용 사례
hourly60분마다고위험 디렉토리 (업로드, 임시)
4h4시간마다공유 디렉토리, 웹 루트
12h12시간마다사용자 홈 디렉토리
daily24시간마다범용 전체 스캔
weekly7일마다저위험 아카이브, 백업 검증

예제

bash
# 홈 디렉토리의 일일 스캔
sd schedule add /home --frequency daily --name "home-daily"

# 자동 격리로 업로드 디렉토리의 시간별 스캔
sd schedule add /var/www/uploads --frequency hourly --auto-quarantine \
  --name "uploads-hourly"

# 대형 미디어 파일을 제외한 주간 전체 스캔
sd schedule add / --frequency weekly --name "full-weekly" \
  --exclude "*.iso" --exclude "*.vmdk" --exclude "/proc/*" --exclude "/sys/*"

# 임시 디렉토리의 4시간 스캔
sd schedule add /tmp --frequency 4h --auto-quarantine --name "tmp-4h"

# 특정 시간의 일일 스캔
sd schedule add /home --frequency daily --time 02:00 --name "home-nightly"

# 일요일 주간 스캔
sd schedule add /var/www --frequency weekly --day sunday --time 03:00 \
  --name "webroot-weekly"

예약 스캔 나열

bash
sd schedule list
예약 스캔 작업 (4개)

이름              경로              빈도     자동-격리  다음 실행
home-daily        /home             daily    아니오      2026-03-22 02:00
uploads-hourly    /var/www/uploads  hourly   예          2026-03-21 11:00
tmp-4h            /tmp              4h       예          2026-03-21 14:00
full-weekly       /                 weekly   아니오      2026-03-23 03:00 (일)

작업 상태 확인

bash
sd schedule status
예약 스캔 상태

이름              마지막 실행            시간      파일     위협     상태
home-daily        2026-03-21 02:00:12   8m 32s    45,231   0        깨끗함
uploads-hourly    2026-03-21 10:00:05   45s       1,247    1        위협 발견
tmp-4h            2026-03-21 10:00:08   2m 12s    3,891    0        깨끗함
full-weekly       2026-03-16 03:00:00   1h 22m    892,451  3        위협 발견

특정 작업에 대한 상세 상태 가져오기:

bash
sd schedule status home-daily
작업: home-daily
  경로:           /home
  빈도:           daily (24시간마다)
  선호 시간:     02:00
  자동 격리:     아니오
  재귀:           예
  제외:           (없음)

  마지막 실행:   2026-03-21 02:00:12 UTC
  소요 시간:     8분 32초
  스캔된 파일:  45,231개
  발견된 위협:  0개
  결과:          깨끗함

  다음 실행:    2026-03-22 02:00 UTC
  총 실행:       47회
  총 위협:       3개 (모든 실행에 걸쳐)

예약 스캔 제거

bash
# 이름으로 제거
sd schedule remove home-daily

# 모든 예약 스캔 제거
sd schedule remove --all

스캔 수동 트리거

다음 간격을 기다리지 않고 예약 작업을 즉시 실행합니다:

bash
sd schedule run home-daily

이것은 설정된 모든 옵션(격리, 제외, 알림)으로 스캔을 실행하고 작업의 마지막 실행 타임스탬프를 업데이트합니다.

스케줄링 작동 방식

PRX-SD는 시스템 cron이 아닌 내부 스케줄러를 사용합니다. 스케줄러는 데몬 프로세스의 일부로 실행됩니다:

sd daemon start
  └── 스케줄러 스레드
        ├── 60초마다 작업 간격 확인
        ├── 간격이 경과하면 스캔 작업 시작
        ├── 결과를 ~/.prx-sd/schedule/에 직렬화
        └── 완료 시 알림 전송

WARNING

예약 스캔은 데몬이 활성화된 경우에만 실행됩니다. 데몬이 중지된 동안 누락된 스캔은 다음 데몬 시작 시 실행됩니다. 지속적인 스케줄링을 위해 sd daemon start를 사용하세요.

설정 파일

예약 작업은 ~/.prx-sd/schedule.json에 저장되며 config.toml에서도 정의할 수 있습니다:

toml
[[schedule]]
name = "home-daily"
path = "/home"
frequency = "daily"
time = "02:00"
recursive = true
auto_quarantine = false
notify = true

[[schedule]]
name = "uploads-hourly"
path = "/var/www/uploads"
frequency = "hourly"
recursive = true
auto_quarantine = true
notify = true
exclude = ["*.tmp", "*.log"]

[[schedule]]
name = "full-weekly"
path = "/"
frequency = "weekly"
day = "sunday"
time = "03:00"
recursive = true
auto_quarantine = false
notify = true
exclude = ["*.iso", "*.vmdk", "/proc/*", "/sys/*", "/dev/*"]

스캔 보고서

각 예약 스캔은 ~/.prx-sd/reports/에 저장된 보고서를 생성합니다:

bash
# 작업의 최신 보고서 보기
sd schedule report home-daily

# JSON으로 보고서 내보내기
sd schedule report home-daily --json > report.json

# 모든 보고서 나열
sd schedule report --list

TIP

예약 스캔을 이메일 알림과 결합하여 자동 보고서를 받습니다. 이메일 이벤트에서 scan_completed를 설정하여 각 예약 스캔 후 요약을 받습니다.

다음 단계

Released under the Apache-2.0 License.