Демон для перемещения файлов между разделами?

У меня есть система с установленной Ubuntu в 20 ГБ и окнами в 100 ГБ, два раздела - по 100 ГБ каждый с использованием NTFS. При использовании DC ++ (многократная загрузка большого файла) я получал сообщение о том, что системе не хватает памяти.

Есть ли способ создать демон, который будет проверять раздел Ubuntu, чтобы, если его используемое пространство увеличивалось до определенной величины (скажем, 18 ГБ), он автоматически запускал перемещение файла с этого диска на другой диск давайте предположим, что он выберет файл из папки с фильмом или самый большой медиа-файл с этого диска для перемещения)?

Или он запрашивает у пользователя, какой файл переместить?

Есть ли какая-нибудь программа, которая может сделать это для меня? Если нет, можете ли вы предложить что-нибудь почитать, чтобы я смог это сделать?

3
задан 11 December 2012 в 02:49

1 ответ

Почему бы вам просто не указать DC ++ для сохранения на другой диск по умолчанию вместо того, чтобы постоянно перемещать файлы?

Решение, подобное тому, о котором вы просили:

#!/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

Этот скрипт запустит ваше приложение (не забудьте указать его) в фоновом режиме и будет следить за выбранным разделом srcPart, пока вы не закроете приложение. Если во время выполнения использование файловой системы превысит 95%, мы выберем самый большой файл avi в папке $ HOME / Movies и переместим его в указанное место.

0
ответ дан 11 December 2012 в 02:49

Другие вопросы по тегам:

Похожие вопросы: