명령줄 도구

Mattermost v11.11번역일: 2026-09-02원본 보기

자체 관리형 배포에서는 Mattermost 서버가 설치된 디렉터리에서 시스템을 구성할 수 있는 mattermost 명령을 사용할 수 있습니다. Mattermost 명령줄 인터페이스(CLI)의 개요는 Santos가 쓴 이 글을 참고하세요.

중요

Mattermost v6.0부터 대부분의 CLI 명령은 mmctl 명령줄 도구의 동등한 명령으로 대체되었습니다. 다만 mattermost import 명령, mattermost export 명령과 관련 하위 명령은 Mattermost v6.0 이후로도 계속 제공되며 완전히 지원됩니다.

이러한 mattermost 명령은 다음 기능을 포함합니다.

컴플라이언스 내보내기

  • 데이터 내보내기
  • 내보내기 작업 예약

데이터베이스

  • 데이터베이스 초기화, 마이그레이션 실행, 커스텀 기본값 로드
  • 적용되지 않은 마이그레이션에 대해 데이터베이스 스키마 마이그레이션
  • 데이터베이스를 초기 상태로 재설정
  • 가장 최근에 적용된 버전 번호 반환
  • 데이터베이스 마이그레이션 롤백

서버 운영

  • Mattermost 작업 서버 시작
  • Mattermost 서버 실행
  • Mattermost 버전 정보 표시

CLI 사용

Mattermost에서 사용

CLI 명령을 실행하려면 Mattermost 루트 디렉터리에 있어야 합니다. Mattermost를 기본 설정으로 설치했다면 루트 디렉터리는 /opt/mattermost입니다. 표준 설치 절차를 따랐다면 명령을 mattermost 사용자로 실행해야 합니다. 실행 파일 이름은 mattermost이며 /opt/mattermost/bin 디렉터리에 있습니다.

예를 들어 기본 설치 환경에서 Mattermost 버전을 확인하려면 다음과 같이 실행합니다.

cd /opt/mattermost/
sudo -u mattermost bin/mattermost version
참고
  • Mattermost 바이너리는 반드시 mattermost 사용자로 실행하세요. 예를 들어 root 사용자로 실행하면 권한 문제가 생길 수 있습니다. 바이너리는 CLI 명령을 실행할 때 플러그인을 초기화하고 여러 파일에 접근하기 때문입니다. 서버를 root로 실행하면 플러그인과 파일의 소유권이 덮어써지거나 그 밖의 권한 오류가 발생할 수 있습니다.
  • 구성을 데이터베이스에 저장하는 Mattermost 설치 환경에서 CLI 명령을 실행할 때는 다음과 같이 데이터베이스 연결 문자열을 전달해야 할 수 있습니다.
    bin/mattermost --config="postgres://mmuser:mostest@localhost:5432/mattermost_test?sslmode=disable\u0026connect_timeout=10"

GitLab Omnibus에서 사용

GitLab Omnibus에서는 CLI 명령을 실행할 때 /opt/gitlab/embedded/service/mattermost 디렉터리에 있어야 합니다. 또한 명령을 mattermost 사용자로 실행하고 구성 파일의 위치를 지정해야 합니다. 실행 파일은 /opt/gitlab/embedded/bin/mattermost입니다.

예를 들어 GitLab Omnibus에서 Mattermost 버전을 확인하려면 다음과 같이 실행합니다.

cd /opt/gitlab/embedded/service/mattermost
sudo /opt/gitlab/embedded/bin/chpst -e /opt/gitlab/etc/mattermost/env -P -U mattermost:mattermost -u mattermost:mattermost /opt/gitlab/embedded/bin/mattermost version
참고

이 문서의 예시 명령은 Mattermost 기본 설치 환경을 기준으로 합니다. GitLab Omnibus에서 동작하도록 명령을 수정해야 합니다.

Docker 설치 환경에서 사용

Docker 설치 환경에서는 /mattermost/bin 디렉터리가 PATH에 추가되어 있으므로 docker exec 명령으로 CLI를 바로 사용할 수 있습니다. docker-compose.yml로 Mattermost를 설치했다면 컨테이너 이름이 mattermostdocker_app_1일 수 있습니다.

예를 들어 Docker 설치 환경에서 Mattermost 버전을 확인하려면 다음과 같이 실행합니다.

docker exec -it <your-mattermost-container-name> mattermost version

Docker Preview에서 사용

위 Docker 설치 환경 설명과 아래의 명령 레퍼런스는 Mattermost docker preview 이미지에도 동일하게 적용됩니다.

참고
  • CLI는 단일 노드에서 실행되므로 고가용성 환경이 클러스터의 모든 노드에 작업을 반영하기 위해 사용하는 메커니즘을 우회합니다. 따라서 고가용성 환경에서 CLI 명령을 실행할 때 구성 설정을 변경하는 작업은 서버 재시작이 필요합니다.
  • CLI 명령의 인자는 순서에 따라 의미가 달라집니다.
  • 특수 문자(!, |, (, ), \, ', ")를 사용하는 경우 인자 전체를 작은따옴표로 감싸거나 개별 문자를 이스케이프해야 합니다.

mattermost CLI 명령

설명

Mattermost 인스턴스와 사용자를 구성·관리하는 명령입니다.

옵션

-c, --config {string}           Configuration file to use. (default "config.json")
--disableconfigwatch {boolean}  When true, the config.json file will not be reloaded automatically when another process changes it (default "false")

하위 명령

mattermost db

설명

데이터베이스 관련 명령입니다.

하위 명령

  • mattermost db downgrade - 데이터베이스 마이그레이션을 롤백합니다. 롤백 대상 업데이트 플랜 또는 쉼표로 구분한 버전 번호가 필요합니다.
  • mattermost db init - 데이터베이스를 초기화하고 마이그레이션을 실행하며 커스텀 기본값을 로드합니다.
  • mattermost db migrate - 적용되지 않은 마이그레이션에 대해 데이터베이스 스키마를 마이그레이션합니다.
  • mattermost db reset - 데이터베이스를 초기 상태로 재설정합니다.
  • mattermost db version - 가장 최근에 적용된 버전 번호를 반환합니다.

옵션

-h, --help   help for db
-c, --config string   Configuration file to use

mattermost db downgrade

설명

데이터베이스 마이그레이션을 롤백합니다. 롤백 대상 업데이트 플랜 또는 쉼표로 구분한 버전 번호가 필요합니다.

형식

mattermost db downgrade

예시

mattermost db downgrade 99,100,101

옵션

--<plan-file> string      Runs the rollback migrations defined in the plan file.

mattermost db init

설명

주어진 데이터 소스 이름(DSN)에 대해 데이터베이스를 초기화하고, 마이그레이션을 실행하며, 지정된 경우 커스텀 기본값을 로드합니다.

형식

mattermost db init

예시

config 플래그로 DSN을 전달합니다.

mattermost db init --config postgres://localhost/mattermost

MM_CONFIG 환경 변수를 사용하려면 다음 명령을 실행합니다.

MM_CONFIG=postgres://localhost/mattermost mattermost db init

데이터베이스에 로드할 커스텀 기본값 파일을 지정하려면 다음 명령을 실행합니다.

MM_CUSTOM_DEFAULTS_PATH=custom.json MM_CONFIG=postgres://localhost/mattermost mattermost db init

mattermost db migrate

설명

적용되지 않은 마이그레이션이 있으면 데이터베이스 스키마를 마이그레이션합니다.

하위 명령

형식

mattermost db migrate

예시

mattermost db migrate

옵션

--auto-recover bool     If the migration plan receives an error during migrations, this command will try to rollback migrations already applied within the plan. Not recommended without reviewing migration plan by combining --save-plan and --dry-run options.
--save-plan bool        Saves the plan for the migration into the file store so that it can be used for reviewing the plan or for downgrading.
--dry-run bool          Does not apply the migrations, but it validates how the migration would run based on the given conditions.

mattermost db reset

설명

데이터베이스를 초기 상태로 재설정합니다. 애플리케이션 서버는 시작하지 않습니다. 스토어 계층만 시작하고 migrations 테이블을 제외한 테이블을 비웁니다.

형식

mattermost db reset

예시

bin/mattermost db reset

mattermost db version

설명

가장 최근에 적용된 버전 번호를 반환합니다.

형식

mattermost db version

mattermost export

Enterprise, Enterprise Advanced 플랜에서 사용할 수 있습니다.

설명

컴플라이언스 목적의 데이터 내보내기와 여러 Mattermost 인스턴스 병합을 위한 명령입니다.

하위 명령

mattermost export actiance

Mattermost v10.5부터 이 명령은 사용 중단되었습니다. 향후 버전에서 mmctl 명령줄 도구에 추가될 예정입니다. 그때까지는 mattermost export schedule을 사용하세요.

mattermost export csv

Mattermost v10.5부터 이 명령은 사용 중단되었습니다. 향후 버전에서 mmctl 명령줄 도구에 추가될 예정입니다.

mattermost export global-relay-zip

Mattermost v10.5부터 이 명령은 사용 중단되었습니다. 향후 버전에서 mmctl 명령줄 도구에 추가될 예정입니다.

mattermost export schedule

설명

서드파티 아카이브 시스템으로 가져오기에 적합한 형식으로 내보내기 작업을 예약합니다.

형식

mattermost export schedule

예시

bin/mattermost export schedule --exportFrom=1513102632

옵션

--exportFrom string     Unix timestamp (seconds since epoch, UTC) to export data from.
--timeoutSeconds string Set how long the export should run for before timing out.

mattermost export bulk

Mattermost v6.0부터 이 명령은 사용 중단되었으며, Mattermost에서 데이터를 내보내는 지원 방식은 mmctl export 명령입니다.


mattermost help

설명

Mattermost 명령줄 도구의 전체 문서를 Markdown 형식으로 생성합니다.

형식

mattermost help {outputdir}

mattermost import

설명

Mattermost로 데이터를 가져옵니다.

하위 명령

mattermost import bulk

Mattermost v6.0부터 이 명령은 사용 중단되었으며, Mattermost로 데이터를 가져오는 지원 방식은 mmctl import 명령입니다.

mattermost import slack

Slack 데이터를 Mattermost로 가져오는 권장 방식은 mmctl import 명령 문서를 참고하세요.

설명

Slack 내보내기 zip 파일에서 팀을 가져옵니다.

형식

mattermost import slack {team} {file}

예시

bin/mattermost import slack myteam slack_export.zip

mattermost jobserver

설명

Mattermost 작업 서버를 시작합니다.

형식

mattermost jobserver

예시

bin/mattermost jobserver

mattermost server

설명

Mattermost 서버를 실행합니다.

형식

mattermost server

mattermost version

참고

Mattermost v6.5부터 이 CLI 명령은 더 이상 데이터베이스와 상호작용하지 않습니다. 스키마 마이그레이션을 실행하는 mattermost db migrate CLI 명령이 새로 도입되었습니다.

설명

Mattermost 버전 정보를 표시합니다.

형식

mattermost version

문제 해결

명령을 실행하면 멈춘 채 완료되지 않습니다

Bleve 검색 인덱싱을 사용 중이라면 System Console > Experimental > Bleve(시스템 콘솔 > 실험 기능 > Bleve)에서 일시적으로 비활성화한 뒤 명령을 다시 실행하세요. 새 mmctl 명령줄 도구를 사용하는 방법도 있습니다.

Bleve는 여러 프로세스가 동일한 인덱스를 열고 조작하는 것을 지원하지 않습니다. 따라서 Mattermost 서버가 실행 중인 상태에서 CLI를 실행하면 인덱스를 열 때 잠금이 발생합니다.

Bleve 검색 인덱싱을 사용하지 않는데도 문제가 있다면 문제 해결 포럼에 편하게 문의해 주세요.