![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| для сравнения общая структура каталогов и получить размеры всех ж на двух разных серверах | mannam srinivas | Shell программирование и сценарии | 3 | 04-07-2008 05:21 AM |
| Скрипт для проверки и отчетности размеры файлов в каталоге. | Marconi | Shell программирование и сценарии | 1 | 04-03-2008 09:00 AM |
| Справка по оптимизации скрипта | aju_kup | UNIX для чайников Вопросы И Ответы | 2 | 11-20-2007 02:21 AM |
| Повтор через файлы в директории | rladda | Shell программирование и сценарии | 4 | 06-24-2005 06:30 AM |
| Каталог размеры | Подлинном | UNIX для чайников Вопросы И Ответы | 3 | 09-24-2003 10:24 AM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Каталог размеров петли оптимизации
У меня следующий сценарий:
#! / USR / BIN / KSH экспорт MDIR \u003d / datafiles NAME \u003d $ 1 SERVER \u003d $ 2 КАТАЛОГ \u003d $ 3 DATABASE \u003d $ 4 ID \u003d $ 5 экспорт dirlist \u003d `/ USR / BIN / SSH-Q $ ID @ $ SERVER найти $ КАТАЛОГ типа Д-принт` за реже в $ dirlist делать SIZE \u003d `</ Dev / нуль / USR / BIN / SSH-Q $ ID @ $ SERVER дю-KS $ реж` Эхо $ NAME $ DATABASE $ $ SIZE КАТАЛОГ>> $ MDIR / bldtuout.txt готово Он работает всегда, но вернуть правильные результаты. Есть ли более быстрый способ? Моя цель состоит в том, чтобы иметь каталог размеров всех каталогах под определенный путь. |
|
||||
|
Зачем использовать для петель, когда он все это может быть сделано путем найти. Код:
/usr/bin/ssh -q $ID@$SERVER find $DIRECTORY -type d -exec du -sk {} \;
|
|
||||
|
Таким образом, она должна выглядеть так:
#! / USR / BIN / KSH экспорт MDIR \u003d / datafiles NAME \u003d $ 1 SERVER \u003d $ 2 КАТАЛОГ \u003d $ 3 DATABASE \u003d $ 4 ID \u003d $ 5 SIZE \u003d `/ USR / BIN / SSH-Q $ ID @ $ SERVER найти $ КАТАЛОГ типа D-EXEC дю-SK () \;` Эхо $ NAME $ DATABASE $ $ SIZE КАТАЛОГ>> $ MDIR / bldtuout.txt готово Когда я пытаюсь запустить ее, я получаю Поиск по сайту: неполное заявление Что я делаю неправильно? |
|
||||
|
Вы, наверное, нужно в два раза (или тройная или четыре раза) в обратную для удаленного SSH получить ее правильно.
|
|
||||
|
Положите ее в двойные кавычки и используйте $ (УМК) вместо `команды`, которая делает ее гораздо проще следить. Код:
SIZE=$(/usr/bin/ssh -q $ID@$SERVER "find $DIRECTORY -type d -exec du -sk {} \;")
|
|
||||
|
Спасибо! Именно это сделал.
Еще два вопроса: Сейчас на выходе будет все по одной линии, то есть быстрый способ разобрать его на несколько строк? Когда найдете создает сообщение об ошибке, это написано на экране, есть ли способ получить его в письменном виде в выходной файл? Последний раз редактировалось la_womn; на 05-16-2008 06:43 PM.. |
|
||||
|
Я понял его. Мой сценарий теперь выглядит так:
Цитата:
|
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|