Nettoyage Mastodon sauvegarde

:fr: Mon serveur YunoHost

Matériel: VPS OVH
Version de YunoHost: 4.3.6.2 (stable)
J’ai accès à mon serveur : En SSH | Par la webadmin
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non
Si oui, expliquer:

Description du problème

Salut à tous,

Je suis à la recherche d’une méthode pour nettoyer mon instance Mastodon sur mon serveur afin de limiter la taille des sauvegardes (entre autre) qui font actuellement 15GB.

J’ai tenté de retrouver un post du forum, où une commande bash était expliquée, pour nettoyer les photos/medias, mais impossible de le retrouver. :smirk:

Quelqu’un aurait ça dans ses notes ? :wink:

Bonne journée !

Salut o/
Il y a un cron qui s’occupe de nettoyer ton instance tous les jours pour les media inclus dans les pouets, et tous les mois pour le reste (prévisualisation de liens).

Si tu as besoin d’effectuer un nettoyage plus poussé avant un backup, tu lancer ces commandes à la main.
Il y a une piste dans le README de l’application, mais ça n’est pas très évident je trouve.

Pour tous nettoyer, ça devrait ressembler à quelque chose comme ça, et attention : certaines commandes peuvent prendre beaucoup de temps!)

# se rendre dans le dossier de mastodon
cd /var/www/mastodon/live
# pour les media
sudo -u mastodon RAILS_ENV=production PATH=/opt/rbenv/versions/mastodon/bin bin/tootctl media remove
# pour les prévisualisation de lien
sudo -u mastodon RAILS_ENV=production PATH=/opt/rbenv/versions/mastodon/bin bin/tootctl preview_cards remove

Si tu veux affiner, tu peux consulter la documentation de tootctl (en anglais).

1 Like

Salut @Tagada

Merci pour ta réponse. Au top, ca fonctionne parfaitement ! :grinning:

En revanche, je pense que le cron ne se fait pas car lorsque j’ai lancé ta première commande RAILS, j’ai récupéré 10 Go…

protocol.rb:503 -> Removed 20409 media attachments (approx. 10,1 Go)

Je vais investiguer pourquoi ça ne se lance pas automatiquement. Il faut aussi que je regarde s’il existe une commande identique pour synapse. :wink:

1 Like

Arg, il me semblait avoir corrigé cette histoire de cron qui ne se fonctionnait pas :cold_sweat:
Tu peux partager le contenu de ton fichier /etc/cron.d/mastodon ? Et aussi regarder dans syslog si il y a des traces de ce cron.

1 Like

Voici le contenu du fichier :

@daily cd /var/www/mastodon/live && sudo -u mastodon PATH=/opt/rbenv/versions/mastodon/bin:/opt/rbenv/shims:/opt/rbenv/bin:/opt/node_n/n/versions/node/12/bin:/opt/node_n/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin  RAILS_ENV=production bin/tootctl media remove
@monthly cd /var/www/mastodon/live && sudo -u mastodon PATH=/opt/rbenv/versions/mastodon/bin:/opt/rbenv/shims:/opt/rbenv/bin:/opt/node_n/n/versions/node/12/bin:/opt/node_n/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin  RAILS_ENV=production bin/tootctl media remove-orphans
@monthly cd /var/www/mastodon/live && sudo -u mastodon PATH=/opt/rbenv/versions/mastodon/bin:/opt/rbenv/shims:/opt/rbenv/bin:/opt/node_n/n/versions/node/12/bin:/opt/node_n/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin  RAILS_ENV=production bin/tootctl accounts cull
@monthly cd /var/www/mastodon/live && sudo -u mastodon PATH=/opt/rbenv/versions/mastodon/bin:/opt/rbenv/shims:/opt/rbenv/bin:/opt/node_n/n/versions/node/12/bin:/opt/node_n/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin  RAILS_ENV=production bin/tootctl statuses remove
@monthly cd /var/www/mastodon/live && sudo -u mastodon PATH=/opt/rbenv/versions/mastodon/bin:/opt/rbenv/shims:/opt/rbenv/bin:/opt/node_n/n/versions/node/12/bin:/opt/node_n/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin  RAILS_ENV=production bin/tootctl preview_cards remove

J’ai deux cron qui ont l’air d’être liés à mastodon :

Feb 12 15:58:50 box cron[1086]: (CRON) INFO (pidfile fd = 3)
Feb 12 15:58:50 box cron[1086]: Error: bad username; while reading /etc/cron.d/mastodon
Feb 12 15:58:50 box cron[1086]: (*system*mastodon) ERROR (Syntax error, this crontab file will be ignored)
Feb 12 15:58:50 box cron[1086]: (CRON) INFO (Running @reboot jobs)

[...]

Feb 12 16:12:01 box cron[1086]: (*system*mastodon) RELOAD (/etc/cron.d/mastodon)
Feb 12 16:12:01 box cron[1086]: Error: bad username; while reading /etc/cron.d/mastodon
Feb 12 16:12:01 box cron[1086]: (*system*mastodon) ERROR (Syntax error, this crontab file will be ignored)

Ah, le voilà! Ça m’a fait relire man 5 crontab et en effet le fichier cron n’est pas correct ! (car en fait il s’agit d’un “SYSTEM CRON FILE” et pas d’un “CRON FILE” tout court…)

Ça devrait mieux fonctionner avec ça

@daily mastodon cd /var/www/mastodon/live && PATH=/opt/rbenv/versions/mastodon/bin:/opt/rbenv/shims:/opt/rbenv/bin:/opt/node_n/n/versions/node/12/bin:/opt/node_n/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin  RAILS_ENV=production bin/tootctl media remove
@monthly mastodon cd /var/www/mastodon/live && PATH=/opt/rbenv/versions/mastodon/bin:/opt/rbenv/shims:/opt/rbenv/bin:/opt/node_n/n/versions/node/12/bin:/opt/node_n/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin  RAILS_ENV=production bin/tootctl media remove-orphans
@monthly mastodon cd /var/www/mastodon/live && PATH=/opt/rbenv/versions/mastodon/bin:/opt/rbenv/shims:/opt/rbenv/bin:/opt/node_n/n/versions/node/12/bin:/opt/node_n/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin  RAILS_ENV=production bin/tootctl accounts cull
@monthly mastodon cd /var/www/mastodon/live && PATH=/opt/rbenv/versions/mastodon/bin:/opt/rbenv/shims:/opt/rbenv/bin:/opt/node_n/n/versions/node/12/bin:/opt/node_n/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin  RAILS_ENV=production bin/tootctl statuses remove
@monthly mastodon cd /var/www/mastodon/live && PATH=/opt/rbenv/versions/mastodon/bin:/opt/rbenv/shims:/opt/rbenv/bin:/opt/node_n/n/versions/node/12/bin:/opt/node_n/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin  RAILS_ENV=production bin/tootctl preview_cards remove
1 Like

Après 4 jours de test, ça a l’air de bien fonctionner.

Merci ! :wink:

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.