Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: bash - удаление файлов месячной давности
 
 автор: sidPR   (15.08.2007 в 18:37)   письмо автору
 
 

Люди подскажите или дайти примерчик ... скрипта который удаляет все файлы которые хранятся больше месяца к примеру или наподобе чтонибуть...

   
 
 автор: cheops   (16.08.2007 в 17:50)   письмо автору
 
   для: sidPR   (15.08.2007 в 18:37)
 

А на PHP не пойдёт?

   
 
 автор: sidPR   (17.08.2007 в 10:03)   письмо автору
 
   для: cheops   (16.08.2007 в 17:50)
 

На php пойдет, но хотелось на bashe такое сделать попробывать, мнебы примерчик какойнибуть наподобе такой задачи !

   
 
 автор: sidPR   (20.08.2007 в 18:20)   письмо автору
 
   для: sidPR   (17.08.2007 в 10:03)
 

есть каталог: private/test/

в нем есть файлы такого вида : www-2007_08_15.tgz

помоги удалить подобные файлы я делал так невышло


find private/test/ 'www-[0-9]_[0-9]_[0-9]*$' -exec rm -f '{}' \;

   
 
 автор: glsv (Дизайнер)   (20.08.2007 в 22:11)   письмо автору
 
   для: sidPR   (20.08.2007 в 18:20)
 

Вот пример: Логи хранятся в директориях, названные по дате (19.08.2007, 20.08.2007 и т.д.). Скрипт читает список директорий, по имени директории определяет за какую она дату, если она старше 10 дней, то удаляет все файлы из нее и далее удаляет саму директорию.

<?
  $log_dir 
"/var/log/mylogs/";
  if (
$handle opendir($log_dir))
  {
    while (
false !== ($file readdir($handle))) 
    {
      if (
$file != "." && $file != ".." && is_dir($log_dir.$file))
      {
        
// получить дату из имени директории
        
list($day,$month,$year) = explode(".",$file);
        
$tmp_time mktime(0,0,0$month$day$year);
        
// если директория 10-дневной давности, то удалить
        
if (time() - $tmp_time>60*60*24*10)
         {
             
//  сначала удаляем файлы из директории
             
unlink($log_dir.$file."/sar-n.log");
             
unlink($log_dir.$file."/sar-q.log");
             ....
             
// затем саму диркторию
             
rmdir($log_dir.$file);
          }
       }
    }
   
closedir($handle);
  }
?>

   
 
 автор: Sobachka   (22.08.2007 в 02:39)   письмо автору
 
   для: glsv (Дизайнер)   (20.08.2007 в 22:11)
 

на bash просили =)) // запускайте пхп файл через bash с ключем -f

   
 
 автор: sidPR   (27.08.2007 в 16:21)   письмо автору
 
   для: Sobachka   (22.08.2007 в 02:39)
 

Люди помагите пожалуйста ... как написать скрипт удаления файлов 10 дневной к примеру давности в дирректории ... на Bash ...

   
 
 автор: minas   (27.08.2007 в 22:17)   письмо автору
 
   для: sidPR   (27.08.2007 в 16:21)
 


#!/usr/local/bin/bash

dir=$1; #первый параметр - дира для поиска

files=`find $dir -mtime +10d`; #исчем файлы
echo $files; #выводим на экран

case "$2" in #опции удаления найденных файлов
"-r")
rm $files;
;;
"-f")
rm -f $files;
;;
"-d")
rm -r $files;
;;
"-df")
rm -rf $files;
;;
esac

   
 
 автор: glsv (Дизайнер)   (27.08.2007 в 18:42)   письмо автору
 
   для: Sobachka   (22.08.2007 в 02:39)
 

>на bash просили =))
Действительно :))
Я начинал писать такой скрипт на bash..., но из-за его ограниченности в итоге переписал на PHP. Какая разница на чем задачу решать.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования