- 環境
- Macbook Pro 2023
- Outlook for Mac 16.88.1
いつも200GBくらいの空きを維持していたMacがいつの間にか残り1GBを切っており、何事かと思ったところOutlook Service Apiのログ領域に大量のこまいファイルが生成されていました。
一応Microsoftのフォーラムにも暫定対応が載っていました。
数日前の投稿なので現在進行形のバクなのかもしれません。
Outlook Mac 2024 - Osa OutlookServiceApiLogs API Log files - Millions of log files - unable to delete easily.
https://answers.microsoft.com/en-us/outlook_com/forum/all/outlook-mac-2024-osa-outlookserviceapilogs-api-log/98b688e2-e561-42a1-9fbb-82cca7f89c9a
Prevent Outlook from Generating Excessive Logs
1. Open Terminal and become root (Password Requiered):
sudo -i
2. Navigate to the Outlook folder:
cd "/Users/YourUsername/Library/Group Containers/UBF8T346G9.Office/Outlook/Outlook 15 Profiles/Main Profile"
3. Change ownership and permissions of the "Osa" folder:
chown root: ./Osa
chmod 700 ./Osa
Note: Avoid recursive options if log files are still present; delete them first.
This will prevent Outlook from writing files to that folder and allow you to open Outlook. However, note that other files might be generated elsewhere, though in my tests, this hasn’t been the case.
Important: If you perform this step after changing ownership, you’ll need to append sudo to commands or execute them as the root user.
1. Navigate to the Outlook folder:
cd "/Users/YourUsername/Library/Group Containers/UBF8T346G9.Office/Outlook/Outlook 15 Profiles/Main Profile/"
2. Create an empty folder:
mkdir Empty
3. Use rsync to delete the logs:
rsync -av --progress --stats --delete --exclude ./Empty/ ./Osa/
Note: This process might take a long time depending on the number of files, especially while “sending incremental file list.” Just let it run and check back later.
4. Optional: Use rm (Slower Alternative):
rm -rf ./Osa/*
This will remove all files and folders inside the Osa folder, but not the folder itself.
ただ、こちらの環境では、「2.ログをすぐに削除する方法」はうまく動きませんでした。
find 〜 -delete
コマンドでの削除もうまくいかず。
大量すぎるからか。
一応 ls -1U | wc -l
と打つと3時間くらいかかりますが、ファイル数を観ることができます。
こちらの環境では 2500万ファイルが入っているフォルダが2個ほどできていました。これで150GB消費です。
結局、上記 rsyncコマンドで対象ファイルの一覧は出てくるので、それを catとawkで整形して、パイプラインで xargs -I % sh -c "/bin/rm %"
とつなぐことで、フルパスのファイルを指定して削除しています。
24時間で400万ファイル削除できたので、都合 十日間くらいかかる計算です。
- 注意: 上記
xargs
コマンドはパイプラインでの実行を前提にしているので、くれぐれもここだけをコピペしてコマンドラインに打ち込まないようにしてください。はじめは/bin/rm
の代わりにls
等で確認することをおすすめします