Страница 1 из 1

чистка фтп-хранилища

Добавлено: 2009-01-11 13:35:10
GHopper
Здравствуйте!

Код: Выделить всё

[root@blackBox /]# uname -srm
FreeBSD 7.0-RELEASE i386
[root@blackBox /]# pkg_info | grep ftpd
proftpd-1.3.2.r3    Highly configurable ftp daemon
Есть ftp-сервер. Диски, сами понимаете, не резиновые. Нужен скрипт, который:

1. Находит и удаляет пустые директории;
2. Находит и удаляет файлы и директории, к которым не обращались больше 14 суток;

Скрипт написал, но вот в чем проблема - люди, выкладывая файлы, ложат все в отдельную директорию. Туда ложатся выкладываемые файлы и файл с описанием. Остальные заходят, читают файл описания и качают/не качают всю папку. По итогу через пару месяцев работы скрипта имеем кучу директорий, в которых кроме описывающих файлов ничего нету.

Тут нужен другой подход - при закачке файла/директории он(она) запоминаются системой. Дальше, при обращении к файлу (файлам в дирректории) счетчик для всей закачки сбрасывается. Вот так как-то...

У кого-нибудь есть соображения, как вообще организовать чистку фтп-свалки?

Re: чистка фтп-хранилища

Добавлено: 2009-01-11 15:12:27
koffu
Скрипт ф студию! это не битва экстрасенсов! :"":

Re: чистка фтп-хранилища

Добавлено: 2009-01-11 15:37:57
GHopper
так ведь скрипт нерабочим оказался... может кому поднадобится:

Код: Выделить всё

#!/bin/sh

ftp_root="/usr/home/ftp";
ftp_folders="games misc music progs video";

echo 'clear ftp';

for folder in $ftp_folders
do
    echo "empty directories:";
    find ${ftp_root}/${folder} -type d -empty
    echo "old files:"
    find ${ftp_root}/${folder} -atime +14
done
Фишка в том, что я хочу отказаться от этого скрипта в пользу какго-нибудь демона, который бы следил за беспорядком в хранилище.

Re: чистка фтп-хранилища

Добавлено: 2009-01-12 8:19:47
zg
GHopper писал(а):У кого-нибудь есть соображения, как вообще организовать чистку фтп-свалки?
культуру юзверей повышать

Re: чистка фтп-хранилища

Добавлено: 2009-01-12 8:40:31
GHopper
zg писал(а):
GHopper писал(а):У кого-нибудь есть соображения, как вообще организовать чистку фтп-свалки?
культуру юзверей повышать
С юзверями полный порядок - они вообще молодцы! Все по директория, с файлами описания, на латинице.

Re: чистка фтп-хранилища

Добавлено: 2009-01-12 12:38:18
koffu
Если места не оч много можно сделать авторизацию, ввести квоты.
Для остального нужно руками проверить, действительно-ли обновляется atime, смонтирован-ли этот раздел с обновлением? Попробуй вместо удаления делать список кандидатов. Попробуй так:

Код: Выделить всё

 echo "empty directories:";
    find ${ftp_root}/${folder} -type d -empty
    echo "old files:"
    find ${ftp_root}/${folder} -type d -atime +14
    find ${ftp_root}/${folder} -atime +30
или изощренней, чтобы какое-то время он мог быть доступен. типа -ctime +14 -atime +14 или учитывать время -anewer -cnewer создания/последнего доступа к родительской папке.