3 votes

Daemon pour déplacer des fichiers entre partitions ?

J'ai un système avec Ubuntu installé sur 20 Go et Windows sur 100 Go, deux partitions - chacune de 100 Go utilisant NTFS. Lorsque j'utilise DC++ (téléchargement multiple de gros fichiers), je reçois un message indiquant que le système manque de mémoire.

Existe-t-il un moyen de créer un deamon qui vérifiera la partition Ubuntu de sorte que si son espace utilisé atteint un certain montant (disons 18 Go), il lancera automatiquement un déplacement de fichier de ce disque vers un autre disque (supposons qu'il choisira le fichier du dossier film ou le plus grand fichier multimédia de ce disque à déplacer) ?

Ou bien il demande à l'utilisateur quel fichier déplacer ?

Existe-t-il un programme qui peut faire cela pour moi ? Si non, pouvez-vous me suggérer quelque chose à lire pour que je puisse le faire ?

4voto

Chris Points 1

Pourquoi ne pas indiquer au DC++ de sauvegarder sur un autre disque par défaut au lieu de déplacer constamment les fichiers ?

Une solution similaire à ce que vous avez demandé :

#!/bin/bash

srcPart="sda9"
dstDir="/media/drive/dir"

moveLargestFile(){
    largestFile="`ls -S -w1 "$1"/*.avi | head -n 1`"
    mv "$largestFile" "$dstDir"
}

your-app &
appPid=$!

while [ "`ps -A | grep $appPid`" ]; do
    usePercent=$(df -h | grep "$srcPart" | grep -o "[0-9]\{1,3\}%" | sed 's/%//')
    if [ $usePercent -gt 95 ]; then
        moveLargestFile "$HOME/Movies"
    fi
    sleep 60
done

Ce script lancera votre application (n'oubliez pas de la spécifier) en arrière-plan et surveillera la partition sélectionnée. srcPart jusqu'à ce que vous quittiez l'application. Si pendant son exécution, l'utilisation du système de fichiers dépasse 95 %, nous sélectionnerons le fichier avi le plus volumineux du dossier $HOME/Movies et le déplacerons à l'emplacement spécifié.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X