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

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
GHopper
мл. сержант
Сообщения: 83
Зарегистрирован: 2008-12-11 15:52:22

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

Непрочитанное сообщение GHopper » 2009-01-11 13:35:10

Здравствуйте!

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

[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 суток;

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

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

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

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
koffu
сержант
Сообщения: 154
Зарегистрирован: 2008-03-23 0:51:18
Откуда: Киев
Контактная информация:

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

Непрочитанное сообщение koffu » 2009-01-11 15:12:27

Скрипт ф студию! это не битва экстрасенсов! :"":

GHopper
мл. сержант
Сообщения: 83
Зарегистрирован: 2008-12-11 15:52:22

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

Непрочитанное сообщение GHopper » 2009-01-11 15:37:57

так ведь скрипт нерабочим оказался... может кому поднадобится:

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

#!/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
Фишка в том, что я хочу отказаться от этого скрипта в пользу какго-нибудь демона, который бы следил за беспорядком в хранилище.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

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

Непрочитанное сообщение zg » 2009-01-12 8:19:47

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

GHopper
мл. сержант
Сообщения: 83
Зарегистрирован: 2008-12-11 15:52:22

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

Непрочитанное сообщение GHopper » 2009-01-12 8:40:31

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

Аватара пользователя
koffu
сержант
Сообщения: 154
Зарегистрирован: 2008-03-23 0:51:18
Откуда: Киев
Контактная информация:

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

Непрочитанное сообщение koffu » 2009-01-12 12:38:18

Если места не оч много можно сделать авторизацию, ввести квоты.
Для остального нужно руками проверить, действительно-ли обновляется 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 создания/последнего доступа к родительской папке.
Последний раз редактировалось Alex Keda 2009-01-12 17:12:09, всего редактировалось 1 раз.
Причина: Товарищщи, юзайте кнопочку [code], цените чужое время...