-
-
Save mrcomoraes/c83a2745ef8b73f9530f2ec0433772b7 to your computer and use it in GitHub Desktop.
#!/bin/bash | |
# This script cleans all cache for Microsoft Teams on Linux | |
# Tested on Ubuntu-like, Debian by @necrifede, Arch Linux by @lucas-dclrcq and Manjaro with flatpak by @danie1k. Feel free to test/use in other distributions. | |
# Tested Teams via snap package. | |
# Tested Teams via flatpak package. | |
# | |
# How to use in terminal: | |
# ./clear_cache_MS_Teams.sh ( deb-stable | deb-insider | snap | flatpak ) | |
# or | |
# bash clear_cache_MS_Teams.sh ( deb-stable | deb-insider | snap | flatpak ) | |
# Variable process name is defined on case statement. | |
case $1 in | |
deb-stable) | |
export TEAMS_PROCESS_NAME=teams | |
cd "$HOME"/.config/Microsoft/Microsoft\ Teams || exit 1 | |
;; | |
deb-insider) | |
export TEAMS_PROCESS_NAME=teams-insiders | |
cd "$HOME"/.config/Microsoft/Microsoft\ Teams\ -\ Insiders || exit 1 | |
;; | |
snap) | |
export TEAMS_PROCESS_NAME=teams | |
cd "$HOME"/snap/teams/current/.config/Microsoft/Microsoft\ Teams || exit 1 | |
;; | |
flatpak) | |
export TEAMS_PROCESS=teams | |
cd "$HOME"/.var/app/com.microsoft.Teams/config/Microsoft/Microsoft\ Teams || exit 1 | |
;; | |
*) | |
echo "Use $0 ( deb-stable | deb-insider | snap | flatpak ) as parameter." | |
exit 1 | |
;; | |
esac | |
# Test if Microsoft Teams is running | |
if [ "$(pgrep ${TEAMS_PROCESS_NAME} | wc -l)" -gt 1 ] | |
then | |
rm -rf Application\ Cache/Cache/* | |
rm -rf blob_storage/* | |
rm -rf Cache/* # Main cache | |
rm -rf Code\ Cache/js/* | |
rm -rf databases/* | |
rm -rf GPUCache/* | |
rm -rf IndexedDB/* | |
rm -rf Local\ Storage/* | |
#rm -rf backgrounds/* # Background function presents on Teams for Windows only. | |
find ./ -maxdepth 1 -type f -name "*log*" -exec rm {} \; | |
sleep 5 | |
killall ${TEAMS_PROCESS_NAME} | |
# After this, MS Teams will open again. | |
else | |
echo "Microsoft Teams is not running." | |
exit | |
fi |
Thanks for the script. I was having issues after upgrading to Ubuntu 21.04 (from 20.04).
Just adding some notes for others -- in case they see the issues similar to mine.
The app would load but never showing any chat messages.
I ran this script multiple times and saw the files were deleted, however, it never would show the messages.
finally, I ran the script and cleared everything and uninstalled and re-installed Teams and it finally worked.
Thank you for the script. Saved my day 👍
It works perfectly, thanks a lot!
Working like a charm in Arch Linux using "debian-stable".Thanks !
Thak you @lucas-dclrcq . I will update script comments.
Best script of the world ! especially to remove bad/bugging conversation draft.
Saved me here too. I was not able to change users. Thanks for sharing.
this works like a charm on ubuntu 20.04. Thanks !!
This is the best thing I've found on Github all day, thank you very much! Script works perfectly, Teams 1.4.00.26453, Ubuntu 20.04.4 LTS
Works like a charm! But in my case directory is very different:
$HOME/.var/app/com.microsoft.Teams/config/Microsoft/Microsoft\ Teams
OS: Manjaro, Teams installed through flatpak.
@danie1k I have not tested on flatpak Teams package. I will update script with flatpak support.
Hmm... weird, when i fun it in bash i get the following error....
fremling@Sill:~$ ./clear_cache_MS_Teams.sh deb-stable
./clear_cache_MS_Teams.sh: line 31: syntax error near unexpected token )' ./clear_cache_MS_Teams.sh: line 31:
*)'
@fremling I have fix a block code that causes errors.
Please, update script and run again.
@mrcomoraes
Any reasons why the process needs to be running?
I am thinking that maybe someone wants to clear the cache without Teams running.
@gabrielmocanu
In last test, when Teams aren't running and start clean cache, some data of authentication is cleared too.
Currently I'm not tested. Feel free to validate.
My snap installation has following location - $HOME/snap/teams-for-linux/current/.config/teams-for-linux/
My Ubuntu 23 snap installation Cache has following location $HOME/snap/teams-for-linux/current/.config/teams-for-linux/Partitions/teams-4-linux/
and the process to be killed is named teams-for-linux
@MarekGajdosik and @maksimdzmitryew this "Teams for Linux" snap is a unofficial project that using Electron for deliver MS Teams. I beleive Microsoft removed Teams snap packages. I guess do a upgrade in snap option to support unofficial version.
Here is my first time on GitHub.
However, here is my contribution to this topic.
I have Ubuntu as my SO, and my teams-for-Linux is a fork on the Snap.
I changed lines 24, 25, and 26 to:
snap)
export TEAMS_PROCESS_NAME=teams-for-linux
cd /snap/teams-for-linux || exit 1
Why?
run ps to find your teams-for-linux process and you will see that:
$ ps -ef |grep teams-for-linux
me 324126 323853 0 12:32 ? 00:00:00 /snap/teams-for-linux/523/teams-for-linux --type=utility --utility-sub
So my teams-for-linux is on directory /snap/teams-for-linux
and the TEAMS_PROCESS_NAME is teams-for-linux and not just teams
Cheers!
Thanks, the script is easy and fantastic