- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
magazzz, для групп файлов можете дополнительно использовать xargs, он позволяет группировать файлы.
что-то типа
find /var/www/pols/data/www/data/logs -cmin +2880 -type f | xargs -I _ -n 1000 nice rm -rf _
это поможет ощутимо снизить нагрузку на систему при удалении. со значением 1000 можете поиграться, но и это должно подойти.
Положите del.php в папку с кэшем. Отработает очень быстро.
Если это не шаред хостинг, то рекомендую использовать утилиту tmpwatch.
Любые решения на PHP курят в сторонке.
---------- Добавлено 27.05.2014 в 23:16 ----------
Умный совет!
Вот посоветовали, но не понимаю по английски
http://serverfault.com/questions/237981/how-do-a-slow-recursive-delete-on-linux
---------- Добавлено 28.05.2014 в 15:39 ----------
Пока что уменьшил время кеша и частоту чистки.
Вроде справляется пока что.
Попозже попробую другие методы.
Используйте отдельную файловую систему для файлов с логами - тогда сайты тормозить не будут. Выберите какую нибудь ФС которая более всего подходит для большого кол-ва мелких файлов. Например неплохо с этим справляется reiserfs, можно ещё jfs попробовать. Ну или на крайний случай ext2 без журнала. А самый лучший вариант - tmpfs, если памяти достаточно и с электриками дружите :)
Была в свое время такая проблема, в папку набилось невероятное число файлов логов (узнал об этом только из-за того, что на сервере свободное место кончилось, после удаления выяснилось, что папка с логами весила 60 гигов, при том, что 1 файл лога и 1 килобайт не всегда весил). Операции удаления через find в принципе не работали, хоть сутки жди. Помогло только вот это:
Гигабайты свободного места стали возвращаться прямо на глазах :)
find _youtubecache/ | xargs rm -rf
удаляю так.
строит список пачками а не прочитывает все.
Поддерживаю censored!,
Все проблемы аналогичных удалений утыкаются в момент сканирования \ листинга директории в которой находится файл, таким образом происходит следующее: вы например хотите удалить 1 файл из директории в которой находится 1 миллион файлов, для того что бы получить доступ к 1 файлу система строит список файлов в директории (если использовать find или ls) таким образом ... удаляя 100 файлов вы перечитываете 100 миллионов файлов ....
Можно попробовать вот такую вот конструкцию, если таким путем считать количество файлов в в директории, то занимает около 15 секунд на моем супер производительном роутере с 600 Mgz и 256 метрами памяти и IDE винтом :) Если же удалять в папке 1 миллион файлов, то занимает несколько минут, все на том же мега производительном роутере :)
#include <dirent.h>
#include <sys/types.h>
#include <unistd.h>
int main(int argc, char *argv[]) {
struct dirent *entry;
DIR *dp;
chdir("/home/megatest/");
dp = opendir(".");
while( (entry = readdir(dp)) != NULL ) {
if ( strcmp(entry->d_name, ".") && strcmp(entry->d_name, "..")
){
unlink(entry->d_name);
}
}
}