![]() |
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| UNIX для чайников Вопросы И Ответы Если вы не уверены в том, где разместить UNIX или Linux вопрос, задайте его здесь. Все UNIX и Linux приветствуем новичков!! |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Server Monitor сценария ... | zedex | Shell программирование и сценарии | 1 | 06-01-2008 04:10 PM |
| Нужна помощь делает скрипт для мониторинга если файлы через | jonathan184 | Shell программирование и сценарии | 0 | 05-15-2007 11:47 AM |
| нагрузка контролировать сценарий | locabuilt | UNIX перспективных И опытных пользователей | 7 | 01-19-2007 02:37 PM |
| Сценарий для монитора базы данных помогут с массивами | nelmest | Shell программирование и сценарии | 1 | 09-05-2005 10:50 PM |
| Монитор, который пользователи ввести свой домашний каталог | mnpradeep | Программирования высокого уровня | 1 | 03-21-2002 05:08 AM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Hep с скрипт для мониторинга каталога
Здравствуйте,
Я новичок, который пытается написать скрипт для мониторинга каталога для набора 3 файлов, что я ожидал получить ftp'd. Иногда мы приостановить операции по обслуживанию и т.д., но мы по-прежнему получать файлы, так что может быть более чем на 1 комплект. Если имеется более 1 комплект, я бы хотел, чтобы переместить все, но последний набор в архив каталога. К примеру сказать, файлы с именем: acme1_090106.txt acme1_091006.txt acme1_092206.txt acme2_090106.txt acme2_091006.txt acme2_092206.txt acme3_090106.txt acme3_091006.txt acme3_092206.txt Я бы хотел, чтобы переместить старые файлы в архив каталога acme1_090106.txt acme1_091006.txt acme2_090106.txt acme2_091006.txt acme3_090106.txt acme3_091006.txt Я работает AIX версии 5.31. Это то, что я до сих пор. Любое предложение будет глубоко признателен. #! / BIN / KSH # FILES \u003d 0 LoopCnt \u003d 0 в то время как (($ файлы <4)); делать эхо `Дата` по названию в `Ls верх *`; делать если [-F $ NAME] пусть файлов файлов \u003d 1 FI готово если (($ файлы <3)), затем если ((LoopCnt <6)), затем Эхо ", не имеют еще 3 файлов, спальные 10 минут" Эхо "" сон 600 FILES \u003d 0 Пусть LoopCnt \u003d LoopCnt 1 еще выезд FI FI готово Это где я застрял если (($ файлами> 3)), затем Эхо "более 3 файлов, перемещение всего лишь последним в архиве" выезд FI |
|
||||
|
Есть много способов сделать это ... одна основана на то время, когда файл, созданный в системе, а другой способ основан на сегодняшний день в имени файла ...
Там будут проблемы с первым методом, если последний файл ftp'd перед старые файлы ... старые файлы будут иметь последнюю дату создания файла, чем последняя файлы и будет двигаться последних файлов в архив папку ... Поэтому я принял Второй метод, который Архивы файлов основан на сегодняшний день в имени файла ... надеюсь, что это помогает. Код:
#!/usr/bin/ksh
for name in $(ls acme* | sed 's/_[0-9]*.txt//g' | uniq)
do
cnt=0
for fname in $(ls $name* | sed 's/_\([0-9][0-9]\)\([0-9][0-9]\)\([0-9][0-9]\)/_\3\1\2/g' | sort -r )
do
echo $fname
nm=$(echo $fname | sed 's/_\([0-9][0-9]\)\([0-9][0-9]\)\([0-9][0-9]\)/_\2\3\1/g' )
cnt=$(($cnt+1));
if [ $cnt -ne 1 ]
then
mv $nm ./bkup
echo "$nm moved to backup"
fi
done
done
|
|
||||
|
mahendramahendr,
Я попробовал ваш код и он отлично работает!. Большое спасибо за Вашу помощь. |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|