The UNIX and Linux Forums  

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Скрипт для автоматического удаления старых папок summerpeh SUN Solaris 5 09-04-2008 11:27 PM
Скрипт для удаления с использованием маски aishu UNIX для чайников Вопросы И Ответы 1 01-09-2008 05:37 PM
Скрипт для автоматического удаления мусорных файлов почтовых серверов crown2100bd SUN Solaris 1 09-20-2007 09:01 AM
Скрипт для автоматического удаления старых файлов vivek_scv Shell программирование и сценарии 4 09-09-2007 02:57 AM
динамичный глобальный сценарий isingh786 Shell программирование и сценарии 2 01-24-2007 08:35 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 10-16-2008
cbo0485 cbo0485 is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2008
Сообщений: 87
Динамический регистрации удалений / Rotatoin Сценарист

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


Код:
#!/bin/sh
###########################################
#Script to zip logs older than 1 week old
#and to delete logs older than 30 days old
###########################################
#
##TEST
#
cd /opt/apache/test/logs
find . -name "access_*" -type f -mtime +8 -exec gzip {} \;
find . -name "access_*.gz" -type f -mtime +31 -exec rm {} \;
find . -name "error_*" -type f -mtime +8 -exec gzip {} \;
find . -name "error_*.gz" -type f -mtime +31 -exec rm {} \;
cd /opt/apache/test1/logs
find . -name "access_*" -type f -mtime +8 -exec gzip {} \;
find . -name "access_*.gz" -type f -mtime +31 -exec rm {} \;
find . -name "error_*" -type f -mtime +8 -exec gzip {} \;
find . -name "error_*.gz" -type f -mtime +31 -exec rm {} \;
cd /opt/apache/test2/logs
find . -name "access_*" -type f -mtime +8 -exec gzip {} \;
find . -name "access_*.gz" -type f -mtime +31 -exec rm {} \;
find . -name "error_*" -type f -mtime +8 -exec gzip {} \;
find . -name "error_*.gz" -type f -mtime +31 -exec rm {} \;
echo "Script complete on `date +%D`."

Теперь для этого скрипта, я просто скопировать и вставить новый блок, когда я создаю новый сервер Apache, но я понял, поскольку структура каталогов и файлов журнала имена всегда один и тот же, было бы некоторым образом я мог бы добавить в некоторых фактическая логика на этот счет.

Возможно, на CD / отказа / Apache /, делать перечисления, а затем каким-то образом использовать массив и петли для захвата имя каждого каталога в переменной, а затем использовать эту переменную для запуска найти команду, сделать эти 4 строки, а затем если другой директории существует повторить.
Old 10-16-2008
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
  
 

Регистрация: Февраль 2006
Место проведения: Альмерия ", Испания
Сообщений: 393
Привет, использование:

Код:
find /opt/apache/test*/logs \( -name "access_*.gz" -o -name "error_*.gz" \) -type f -mtime +31 -exec rm {} \;
find /opt/apache/test*/logs \( -name "access_*" -o -name "error_*" \) -type f -mtime +8 -exec gzip {} \;

Привет
Old 10-16-2008
cbo0485 cbo0485 is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2008
Сообщений: 87
Цитата:
Первоначально Послано Klashxx View Post
Привет, использование:

Код:
find /opt/apache/test*/logs \( -name "access_*.gz" -o -name "error_*.gz" \) -type f -mtime +31 -exec rm {} \;
find /opt/apache/test*/logs \( -name "access_*" -o -name "error_*" \) -type f -mtime +8 -exec gzip {} \;

Привет
Испытание * каталог не является на самом деле все назвали испытание, это название нашего веб-серверы, и они не имеют нормальной схемы, как это. Можно ли просто заменить * для теста *? Чтобы сделать это


Код:
find /opt/apache/*/logs \( -name "access_*.gz" -o -name "error_*.gz" \) -type f -mtime +31 -exec rm {} \;
find /opt/apache/*/logs \( -name "access_*" -o -name "error_*" \) -type f -mtime +8 -exec gzip {} \;

Old 10-16-2008
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
  
 

Регистрация: Февраль 2006
Место проведения: Альмерия ", Испания
Сообщений: 393
Конечно!
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 06:01 PM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0