Skip to content

CLI 명령 참조

SirrChat은 메일 서버를 관리하고 유지하기 위한 완전한 기능을 갖춘 명령줄 도구를 제공합니다.

기본 명령

sirrchatd

메인 프로그램 명령.

bash
sirrchatd [command] [flags]

전역 옵션

bash
--config string      구성 파일 경로 (기본값 "~/.sirrchatd/config.toml")
--debug              디버그 모드 활성화
--help, -h           도움말 정보 표시
--version, -v        버전 정보 표시

서비스 관리

run

메일 서버 시작.

bash
sirrchatd run [flags]

옵션:

bash
--daemon             백그라운드에서 실행
--pid-file string    PID 파일 경로

예제:

bash
sirrchatd run --config /etc/sirrchatd/config.toml

stop

실행 중인 서버 중지.

bash
sirrchatd stop

restart

서버 재시작.

bash
sirrchatd restart

status

서버 상태 보기.

bash
sirrchatd status

출력:

상태: 실행 중
PID: 12345
가동 시간: 2d 5h 32m
연결: 42
처리된 메시지: 15,234

사용자 관리

user create

새 사용자 생성.

bash
sirrchatd user create [flags]

옵션:

bash
--username string    사용자 이름 (이메일 주소)
--password string    비밀번호
--quota string       스토리지 할당량 (예: "5GB")
--blockchain string  블록체인 지갑 주소

예제:

bash
sirrchatd user create \
  --username [email protected] \
  --password secretpass \
  --quota 5GB

user delete

사용자 삭제.

bash
sirrchatd user delete --username [email protected]

user list

모든 사용자 나열.

bash
sirrchatd user list [flags]

옵션:

bash
--domain string      도메인으로 필터링
--format string      출력 형식 (table|json|csv)

user modify

사용자 정보 수정.

bash
sirrchatd user modify \
  --username [email protected] \
  --quota 10GB

user password

사용자 비밀번호 변경.

bash
sirrchatd user password \
  --username [email protected] \
  --new-password newpass

도메인 관리

domain add

새 도메인 추가.

bash
sirrchatd domain add --name example.com

domain delete

도메인 삭제.

bash
sirrchatd domain delete --name example.com

domain list

모든 도메인 나열.

bash
sirrchatd domain list

구성 관리

config init

기본 구성 파일 생성.

bash
sirrchatd config init > config.toml

config verify

구성 파일 확인.

bash
sirrchatd config verify

config get

구성 항목 가져오기.

bash
sirrchatd config get server.hostname

config set

구성 항목 설정.

bash
sirrchatd config set server.hostname mail.example.com

DKIM 관리

dkim generate

DKIM 키 쌍 생성.

bash
sirrchatd dkim generate \
  --domain example.com \
  --selector default \
  --bits 2048

dkim show

DKIM 공개 키 레코드 표시.

bash
sirrchatd dkim show --domain example.com

출력:

DNS에 이 TXT 레코드를 추가하세요:

default._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBg..."

할당량 관리

quota get

사용자 할당량 보기.

bash
sirrchatd quota get --user [email protected]

출력:

사용자: [email protected]
할당량: 5 GB
사용: 1.23 GB (24.6%)
사용 가능: 3.77 GB

quota set

사용자 할당량 설정.

bash
sirrchatd quota set \
  --user [email protected] \
  --quota 10GB

quota list

모든 사용자 할당량 사용량 나열.

bash
sirrchatd quota list --sort-by used

백업 및 복구

backup create

백업 생성.

bash
sirrchatd backup create \
  --output /backups/sirrchat-$(date +%Y%m%d).tar.gz \
  --compress

옵션:

bash
--user string        특정 사용자만 백업
--domain string      특정 도메인만 백업
--exclude-attachments  첨부 파일 제외

backup restore

백업 복원.

bash
sirrchatd backup restore \
  --input /backups/sirrchat-20250115.tar.gz

backup list

사용 가능한 백업 나열.

bash
sirrchatd backup list --path /backups

데이터베이스 관리

db migrate

데이터베이스 마이그레이션 실행.

bash
sirrchatd db migrate

db ping

데이터베이스 연결 테스트.

bash
sirrchatd db ping

db vacuum

데이터베이스 최적화.

bash
sirrchatd db vacuum

스토리지 관리

storage stats

스토리지 통계 보기.

bash
sirrchatd storage stats

storage test

스토리지 연결 테스트.

bash
sirrchatd storage test --type s3

storage migrate

스토리지 백엔드 마이그레이션.

bash
sirrchatd storage migrate \
  --from local \
  --to s3

storage cleanup

만료된 데이터 정리.

bash
sirrchatd storage cleanup \
  --older-than 2y \
  --dry-run

모듈 관리

module list

모든 모듈 나열.

bash
sirrchatd module list

module enable

모듈 활성화.

bash
sirrchatd module enable spam-filter

module disable

모듈 비활성화.

bash
sirrchatd module disable spam-filter

module reload

모듈 다시 로드.

bash
sirrchatd module reload --name spam-filter

로그 관리

logs view

로그 보기.

bash
sirrchatd logs view [flags]

옵션:

bash
--lines int (기본값 100)
--follow, -f         실시간으로 로그 따라가기
--level string       로그 레벨로 필터링
--grep string        키워드로 필터링

예제:

bash
sirrchatd logs view --lines 50 --level error
sirrchatd logs view --follow --grep "[email protected]"

모니터링 명령

stats

서버 통계 표시.

bash
sirrchatd stats

출력:

서버 통계
-----------------
가동 시간: 2d 5h 32m
전체 사용자: 1,234
활성 세션: 42
오늘의 메시지: 5,678
사용된 스토리지: 125.5 GB

SMTP 통계
---------------
전송: 2,345
수신: 3,333
거부: 12

IMAP 통계
---------------
활성 연결: 42
명령: 12,345

health

상태 확인.

bash
sirrchatd health

출력:

✓ 데이터베이스: OK
✓ SMTP: OK
✓ IMAP: OK
✓ 스토리지: OK
✓ 메모리: OK (45% 사용)
✓ 디스크: OK (32% 사용)

진단 도구

diagnose

진단 검사 실행.

bash
sirrchatd diagnose

test-smtp

SMTP 기능 테스트.

bash
sirrchatd test-smtp \
  --from [email protected] \
  --to [email protected] \
  --subject "Test Email"

test-imap

IMAP 기능 테스트.

bash
sirrchatd test-imap \
  --user [email protected] \
  --password pass

셸 완성

셸 완성 스크립트 생성.

Bash

bash
sirrchatd completion bash > /etc/bash_completion.d/sirrchatd

Zsh

bash
sirrchatd completion zsh > "${fpath[1]}/_sirrchatd"

Fish

bash
sirrchatd completion fish > ~/.config/fish/completions/sirrchatd.fish

환경 변수

bash
SIRRCHAT_CONFIG      구성 파일 경로
SIRRCHAT_DEBUG       디버그 모드 활성화
SIRRCHAT_LOG_LEVEL   로그 레벨
SIRRCHAT_DATA_DIR    데이터 디렉토리

자세한 정보:

Released under the GPL 3.0 License.