Задание Cron для удаления файлов, созданных до определенного времени - PullRequest
3 голосов
/ 02 декабря 2010

У меня есть это задание cron для очистки временной папки, которое у меня есть раз в день:

rm -rf /home/username/public_html/temp/*

Я хочу, чтобы это задание cron удаляло все файлы, которые были созданы до того, как оно запустится за 5 минут и дочтобы мой сценарий больше не нуждался в этих файлах.

Допустим, я установил задание cron на ежедневное выполнение в 10:00. Я хочу удалить все файлы в этой папке, созданные ранее.09:55

Большое спасибо экспертам!

Ответы [ 3 ]

2 голосов
/ 02 декабря 2010

Если вы используете GNU find, попробуйте следующее:

find /home/username/public_html/temp -type f -mmin +5 -delete

Также должно работать с FreeBSD или многими другими версиями find.

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

Аналогично ответу Джеффриса, я бы предложил что-то вроде этого:

for i in `find /home/username/public_html/temp -type f -mmin +5`
    do rm $i
done
0 голосов
/ 02 декабря 2010

Альтернативное решение будет: -

задание cron для запуска php-файла один раз в день.

 $dir = 'your/directory/';
  foreach(glob($dir.'*.*') as $v){
  $last_modified = filemtime($v);//get the last modified time of file
  $fmtime=date("h:i:s", $last_modified);
  $currentTime=date("h:i:s");

  if (//check here if your file is created before 09:55Am)
  unlink($v);

  }

Спасибо.

...