Slackの無料プランを使っていると、過去90日より前のメッセージが見られなくなることがあります。
大事なやり取りやファイルを消さずに残しておくには、自分で定期的にバックアップを取るのが確実です。
今回は、Slackの履歴をHTML形式でダウンロード&ローカル保存し、さらに月1回の自動バックアップをcronで設定する手順をまとめました。
わたし的ポイント
- Slackの履歴を無料プランでダウンロード・保存できる
- HTML形式で人が読める形に保存できる
- cronによる完全自動バックアップ
出来上がりイメージ👇

目次
使用するツールと前提
手順① Slackアプリの作成とトークン取得
Slackの履歴を取得するには、カスタムアプリを作ってトークンを発行する必要があります。
1️⃣ Slack API にアクセスし、「Create New App」→「From scratch」
2️⃣ 名前とワークスペースを設定
3️⃣ 左メニューの「OAuth & Permissions」から以下のUser Token Scopesを追加
Loading code...
4️⃣「Install to Workspace」してトークンを発行
トークンは xoxp-… という形。これを控えておきます。

手順② slack-archive の初回実行(手動)
Loading code...
初回はインタラクティブなUIで、チャンネル・DMの種類・対象などを選択できます。
取得したトークンは slack-archive 実行ディレクトリ内に .token というファイルを作成し、そこに貼っておくと次回以降省略可能◎
Loading code...
実行したら、/slack-archiveに生成されたindex.htmlを開くと・・・

できてます!🎉🎉🎉🎉
手順③ バックアップ自動化(cron)
シェルスクリプトを作成
(例:~/Desktop/project/slack履歴/run_slack_backup.sh)
Loading code...
実行権限を付与:
Loading code...
cron に登録(例:毎月1日 朝9時に実行)
以下を追記:
Loading code...
macOS のセキュリティ設定(重要)
cron がファイルにアクセスできるように、システム設定 → プライバシーとセキュリティ → フルディスクアクセス に以下を追加:
/usr/sbin/cron- 使用中の
Terminal.app(cron が内部的に使うケースもある)
設定後はMacの再起動を推奨。
テストしてみる
スケジュールを 「数分後」とかに一時的に変更してお試し実行してみる!
たとえば今が5月11日の14時01分なら、14時5分に予約してみる
Loading code...
下記のように先頭の数値を書き換える
Loading code...
実行確認のポイント
cron.logに出力される内容をチェック(エラーがあれば表示される)data/以下のフォルダが増えてるか見てみる- slackに事前に適当にメッセージ送っておいて、更新されるか見るのも◎
おわりに
Slackの履歴が消える前に、ローカルに定期的に保存しておくのはとても大事です。
今回の方法なら、Slackの履歴をHTMLで閲覧可能な状態でバックアップ&自動化できます。
必要な方は、ファイルのダウンロードやJSON形式での活用もできます。
ぜひチームや個人利用に活かしてください!




