BitTorrent Трекер RusTrek.ru http://5.45.70.241/ |
|
Удаляем временные файлы с CRON http://5.45.70.241/viewtopic.php?f=680&t=46533 |
Страница 1 из 1 |
Автор: | RusTrek [ 2012-07-03 00:13 ] |
Заголовок сообщения: | Удаляем временные файлы с CRON |
Есть сайты, где пользователям дается возможность создавать/загружать свои файлы на сервер. Например, изображения, которые потом можно манипулировать. Если сайт популярный, то таких вот загруженных файлов может собрать очень много. Если у вас ограничено место на сервере, читайте дальше. На помощь придет cron, планировщик задач в системах, основанных на UNIX. Многие люди сначала создают PHP скрипт для удаления ненужных файлов, а затем добавляют задание в crontab, которое будет запускать этот скрипт через определенное время. Например, эта запись в crontab будет запускать ваш PHP скрипт каждую минуту * * * * * php /path/to/your/script.php При каждом запуске скрипта вам будет оправляться имэйл, если он указан. Если он не указан, письма буду отправляться на корневой (основной) адрес. В любом случае получится куча почты. Это удобна для проверки работы скрипта, так как вам будет высылаться информация об ошибках. Но после наладки скрипта, отсылку вообще можно отменить так * * * * * php /path/to/your/script.php >/dev/null 2>&1 Но можно обойтись без PHP или других скриптов вообще, есть способ лучше и быстрее, да и с письмами возиться не надо. Задача: каждый час удалять файлы, которые были созданы более одного часа назад. Решение: 0 * * * * find /полный/путь/к/папке/с/файлами -type f ! \( -name 'index.html' \) -cmin +60 -exec rm {} \; Пояснение: 0 * * * * - запускать в 0 минут каждый час, каждый день, каждый месяц, каждый день недели. find /полный/путь/к/папке/с/файлами - искать в этой папке -type f - нас интересуют только файлы ! \( -name 'index.html' \) - все файлы, кроме index.html -cmin +60 - возраст файла больше 60 минут -exec rm {} - мы хотим удалить файлы И еще несколько примеров. Каждые 2 часа удалять файлы, созданные больше часа назад 0 */2 * * * find /полный/путь/к/папке/с/файлами -type f ! \( -name 'index.html' \) -cmin +60 -exec rm {} \; Каждый день в 22:00 удалять файлы, созданные больше 12 часов назад 0 22 * * * find /полный/путь/к/папке/с/файлами -type f ! \( -name 'index.html' \) -cmin +720 -exec rm {} \; Каждые 6 часов удалять все файлы, созданные больше 3 часов назад 0 */6 * * * find /полный/путь/к/папке/с/файлами -type f -cmin +180 -exec rm {} \; |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |