Forum Webscript.Ru
Программирование => Perl => Тема начата: Biggelow от 04 Сентября 2006, 12:11:58
-
Всем привет!
Такая проблема: есть папка tmp в которой постоянно появляются файлы. Она переполняется и сайт загибается. Как мне узнать те файлы которые старше часа и удалять их?
-
perldoc -f readdir
perldoc -f stat
perldoc -f unlink
-
неизобретай велосипед - пользуй tmpwatch. Практически все основные утилиты написаны до нас.
-
Skif
не знаю как с ней работать...
-
NeoNox
Спасибо разобрался.
Кому интересно, вот чего получилось:
$some_dir="../tmp";
opendir(DIR, $some_dir) || die "can\'t opendir $some_dir: $!";
@dots = readdir(DIR);
closedir DIR;
$a=3;
foreach(@dots){
my @filestat=stat("$some_dir/@dots[$a]");
$nowtime=time();
$raznica=$nowtime-@filestat[9];
if(@filestat[0] && $raznica > 3600){
unlink("$some_dir/@dots[$a]");
}
$a++;
}
-
Biggelow
Элементарно
0 1 * * * root /usr/local/sbin/tmpwatch 24 /tmp
0 1 * * * root /usr/local/sbin/tmpwatch 24 /var/tmp
Удаляет в 1 минуту первого все фалы старше 24 часов. К ней идет детальный ман.