- Modifié
Inspiré par le travail de Magicalex, j'ai concocté un script plus global de nettoyage : https://upandclear.org/2019/10/31/script-de-nettoyage-dune-seedbox-sous-docker/
Par défaut ce script est passé avec la commande "Report" pour rTorrent-Cleaner, il ne fait donc que lister les fichiers locaux non liés à rTorrent. Pour les effacer il faut remplacer "Report" par "rm" ou "rm -y" pour forcer l'effacement automatiquement et ne pas avoir à les confirmer un par un.
#!/usr/bin/env bash
# Nom du script .. : sbcleaner.sh
# Date ........... : 10.2019
# Auteur ......... : Aerya | upandclear.org
# Description .... : Script de nettoyage d'une seedbox utilisant Docker avec rapport sur Discord
# ................ : Supprime tout ce qui est inutilise dans Images/Volumes/Builder (cache)
# ................ : Integre le travail de Magicalex (https://github.com/Magicalex/rtorrent-cleaner | https://mondedie.fr/d/10037-rtorrent-cleaner-un-script-pour-liberer-de-la-place-sur-votre-seedbox-!) pour supprimer localement tout fichier non lie a un .torrent dans rTorrent (Docker LinuxServer)
# ................ : Utilise le script de notification sur Discord de ChaoticWeg (https://github.com/ChaoticWeg/discord.sh)
# Prerequis ...... : Seedbox sous Docker, se creer un WebHook Discord (https://support.discordapp.com/hc/en-us/articles/228383668-Intro-to-Webhooks) et installer les prérequis de Discord.sh (sudo apt-get install curl jq bats -y)
# Spécificités ... :
# ... Docker ..... : Ne touche pas aux containers
# ... BitTorrent.. : Pour utilisation avec le container Docker ruTorrent de LinuxServer (https://hub.docker.com/r/linuxserver/rutorrent). Voir https://github.com/Magicalex/rtorrent-cleaner#example-with-the-docker-image-linuxserverrutorrent
# Fonctionnement . : Modifier les variables et placer en CRON (root) pour exécution toutes les X semaines, exemple 0 0 1 * * /home/aerya/scripts/sbcleaner.sh
# Variables ...... : A definir ici et ne pas modifier la suite du script
# RUTORRENT ...... : Nom de votre container ruTorrent LinuxServer
# SLEEP .......... : Temps de pause du script (minutes), pour laisser le temps au container ruTorrent de se relancer dans le but d'eviter toute erreur avec l'outil de nettoyage
# FILES .......... : Chemin de montage de /downloads, a adapter selon votre configuration du container Docker ruTorrent de LinuxServer
# CLEANER ........ : Option de rTorrent-Cleaner, report = tester, rm = effacer. Pour d'autres variables se rapprocher du howto de rTorrent-Cleaner sur GitHub
# LOG ............ : Fichier de log de la commande precedente
# WEBHOOK ........ : Cle d'acces privee a votre salon Discord (https://support.discordapp.com/hc/en-us/articles/228383668-Intro-to-Webhooks)
# BOT ............ : Nom du bot Discord qui affichera le log de rTorrent-Cleaner
# MESSSAGE ....... : Message d'accompagnement
RUTORRENT='rutorrent'
SLEEP='3'
FILES='/home/aerya/mnt'
CLEANER='report'
LOG='rtorrent-cleaner.log'
WEBHOOK='https://discordapp.com/api/webhooks/xxx'
BOT='CleanerStorage'
MESSAGE='Nettoyage de rTorrent terminé sur Storage'
# Script ......... : NE PAS MODIFIER
# ................ : Suppression des volumes, images, builders Docker non utilises
docker volume prune -f
docker image prune -f
docker builder prune -f
# ................ : Redemarrage du container ruTorrent pour etre certain de l'efficacite de l'outil de nettoyage
docker restart "$RUTORRENT"
# ................ : Pause
sleep "$SLEEP"m
# ................ : Script Magicalex rTorrent-Cleaner - Format Docker
docker run -it --rm \
-e PHP_MEMORY_LIMIT=256M \
-v "$FILES":/downloads \
-v /run/php:/run/php \
magicalex/rtorrent-cleaner report --quiet --log=/downloads/"$LOG" /run/php/.rtorrent.sock
echo "Log généré le $(date "+%d.%m.%Y à %T")" | tee -a /downloads/"$LOG"
# ................ : Script ChaoticWeg Discord.sh
wget -P /tmp https://raw.githubusercontent.com/ChaoticWeg/discord.sh/master/discord.sh
chmod +x /tmp/discord.sh
bash /tmp/discord.sh \
--webhook-url="$WEBHOOK" \
--file "$FILES"/"$LOG" \
--username "$BOT" \
--text "$MESSAGE"
# ................ : Suppression des fichiers
rm /tmp/discord.sh
rm "$FILES"/"$LOG"
docker rmi magicalex/rtorrent-cleaner