- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Задачка, казалось бы, тривиальнейшая.
Есть некая папочка /path/to/folder, надо из нее и всех ее подпапок удалить все файлы, к которым пользователи не обращались ни разу в течение, скажем, месяца.
Казалось бы, все элементарно...
Но... Эта команда ничего не удаляет по той простой причине, что обращения к этим файлам все же были... во время резервного копирования!
Есть какие-то идеи, как все же удалить древние и никому не нужные файлы в такой ситуации?
Учитывая то, что в каждой подпапке соседствуют и ненужные, и активно используемые файлы, и всего этих файлов несколько десятков тыщ.
Debian Lenny, дедик с рутом.
есть такая упячка, stat:
1 ino inode number
2 mode file mode (type and permissions)
3 nlink number of (hard) links to the file
4 uid numeric user ID of file's owner
5 gid numeric group ID of file's owner
6 rdev the device identifier (special files only)
7 size total size of file, in bytes
8 atime last access time in seconds since the epoch
9 mtime last modify time in seconds since the epoch
10 ctime inode change time in seconds since the epoch (*)
11 blksize preferred block size for file system I/O
12 blocks actual number of blocks allocated
посмотрите в строну: atime, ctime, mtime
atime - не для таких вещей, зарубите себе на носу.
Разве создавать базу используемых файлов по логам, например, веб-сервера (или как там у вас обращаются пользователи: расскажите - мы же не телепаты) - другого варианта нет и быть не может.
Разве создавать базу используемых файлов по логам, например, веб-сервера (или как там у вас обращаются пользователи: расскажите - мы же не телепаты) - другого варианта нет и быть не может.
Н-да, надеялся, что все же удастся без такого гемора обойтись...
Файлы отдаются nginx-ом.
Н-да, надеялся, что все же удастся без такого гемора обойтись...
А Вы думать не пробовали головой предварительно?
Как система отличит обращения к файлу интересные Вам от всех остальных?
Файлы отдаются nginx-ом.
Тогда не вижу особых проблем и "гемора" - настройте лог, в который просто пишите пути к файлам при 200-х ответах и используйте эту информацию в скрипте очистки ненужных файлов.
Правильнее было бы вести базу данных (mysql) файлов в папках сайта и удалять файлы в соответствии с логикой работы сайта.
tmpwatch --mtime --all 24 /var/cache/eaccelerator
24 кол-во часов сохранения кэша, которые не надо удалять, все остальное удаляется
использую эту команду для очистки временных файлов, для команды tmpwatch надо установить(apt-get install php5-dev) php – developer
tmpwatch --mtime --all 24 /var/cache/eaccelerator
24 кол-во часов сохранения кэша, которые не надо удалять, все остальное удаляется
Это работает магически? Или все-таки использует дату модификации файла и абсолютно бесполезно для ТС?
PS: А в вашем случае можно попросту использовать find c mtime без изобретения трехколесных велосипедов.