Автоматически удалять файлы с веб-сервера - PullRequest
1 голос
/ 11 августа 2010

Мне нужно удалить файлы из каталога на моем веб-сервере, и мне нужен сценарий, чтобы сделать это автоматически. И есть еще несколько условий, которые должны быть выполнены.

  • Он должен очистить каталог, тогда общий размер файла превышает определенный предел, например, 1,5 ГБ.
  • Эти файлы будут удаляться каждые 24 часа.
  • Новые файлы, такие как 10 или 20 минут, не будут удалены
  • Было бы просто замечательно, если бы все вышеперечисленные условия работали одновременно.

Для удаления файлов я думал о какой-то задаче кукурузы, но я ничего о них не знаю, так что это сложно для меня.
Чтобы удалить файлы, тогда определенный предел достигнут, я думал, что какой-то сценарий PHP моя помощь. Может быть, есть библиотека, предназначенная для этих вещей.
В любом случае, я буду очень рад любой помощи. Может быть, мне просто нужны свежие мысли, чтобы найти правильное ключевое слово для Google; P

РЕДАКТИРОВАТЬ: мой сервер работает на Linux.

Ответы [ 4 ]

4 голосов
/ 11 августа 2010

Если ваш сервер работает под управлением Linux, лучше всего подойдет работа cron.Просто напишите скрипт, который проверяет упомянутые вами условия (например, stat и некоторые другие инструменты) и удаляет файл, если они применяются, и задайте crond для запуска его каждые 24 часа. Вот краткое введение в cron.

В Windows вы могли бы сделать что-то похожее со скриптом и запланированной задачей.

2 голосов
/ 26 апреля 2011

Вот хороший урок и объяснение работы cron:

http://www.youtube.com/watch?v=lbJrk55Ae1c

Автоматизируйте любой скрипт для выполнения. Просто напишите сценарий, который удаляет все файлы в папке, и это то, что вы задали для цели cron.

А вот учебник о том, как программист PHP может получить доступ ко всем файлам в папке и использовать функцию php unlink () для каждого по очереди для удаления файлов. разъединить ($ файла);

http://www.developphp.com/view_lesson.php?v=239

0 голосов
/ 19 января 2014

Перейдите в свою cPanel, выберите задания cron и используйте следующую команду для ее создания:

find /home/your_account/public_html/temp/* -mmin +360 -exec rm -r {} \;

Он будет очищать файл «temp» (или любое другое имя) каждые 360 секунд. Вы также можете это изменить.

Мне сказали, что если вы добавите следующее в конец файла, это будет препятствовать вам получать электронные письма каждый раз, когда выполняется задание cron: /dev/null 2>&1

0 голосов
/ 03 декабря 2012

Вот простой способ автоматического удаления файла в зависимости от даты файла: Веб-подсказки: советы и инструменты для веб-мастеров: автоматическое удаление файлов, запускаемое на определенную дату Вы можете настроить и автоматизировать эту задачу вчтобы соответствовать вашим потребностям.С уважением,

...