Рубрика: Solaris

Вывести содержимое последних логов в один файл (ленивая версия с извращениями, Solaris)

Я всё усложнил, можно было сделать гораздо проще, но такими сложностями заставляешь себя вспоминать многие вещи, которыми нечасто пользуешься.

Сначала получим список последних файлов, исключив директории, и запишем его в файл:

ls -lAtr /tmp | grep "^-" | awk '{print $9}' | tr "\n" " " > /tmp/filenames.txt
tr "\n" " " - позволяет заменить перенос строки на пробел

Редактируем файл filelist.txt в vi, удаляем оттуда имя файла ‘filelist.txt’. Почему руками? А чтобы вспомнить, как пользоваться vi. Напоминалка: 25dd — удалить 25 строк, 500x — удалить 500 символов.

Читаем файл со списком и выводим содержимое файлов с их названием:

 for filename in $(cat /tmp/filelist.txt); do 

echo "==== $filename ===="; 

cat "$filename"; 

done > /tmp/output.txt

В результате получаем сообщение:

«cat: input/output files ‘/tmp/output.txt’ identical»

WTF???

Ага, косяк с том, что в списке файлов присутствует и сам ‘output.txt’, я забыл его удалить с прошлых тестов. Исправляюсь:

В Solaris не работает sed -i, вместо этого использую perl:

perl -pi -e ‘s/output.txt//’ /tmp/filelist.txt

Теперь после повторного выполнения скрипта с циклом for, что был выше, не появятся сообщения.

PROFIT!

 

Реестр приложений с FTP сервера

Задача:

Поиск всех exe-файлов на ftp-сервере, имя не должно содержать знак тильды.
Выводить имя владельца и группы файла, дату модификации, путь и имя файла.

find /usr/ftp/pub/sklad/bin/ -type f -name "*.exe" -exec ls -laE {} \; | grep -v "~" | sed 's@/usr/ftp/pub/sklad/bin/@@' | awk '{print $3","$4","$6","$9}' > /tmp/sklad.txt

В файл /tmp/reestr.txt запишется информация в таком виде: Продолжить чтение «Реестр приложений с FTP сервера»

Как включить snmp в Solaris 10

Отключение службы snmpdx (уже старьё)
# svcadm disable svc:/application/management/snmpdx:default
# svcs -xv svc:/application/management/snmpdx:default
Вместе snmpdx включаем SMA (System Management Agent)
# svcadm enable svc:/application/management/sma:default
# svcs -xv svc:/application/management/sma:default
Работает ли порт 161?
# netstat -na | grep 161
  *.161         Idle

 

Что есть из запущенного с названием sma:

svcs -a | grep sma

Если вместо статуса online видим что-то иное — смотрим подробности:

svcs -xv

из вывода этой команды можно обнаружить причину неполадки, например, не запущен обязательный сервис, от которого зависит sma (что вряд ли) и получить путь к файлу с логами и понять.

Почитать:

Solaris 10: how to enable the SNMP Master Agent

Введение в Service Management Facility (SMF) на Oracle Solaris 11

Освобождение места под бэкапы Solaris 9

Задача: ежедневно по крону проверять свободное место перед созданием бекапов, если места мало — удалять старые бэкапы.
Решил дополнительно перестраховаться, оставлять 1-2 резервных копии.
На конкретном сервере пересчитывание происходит медленно, поэтому «медленное» удаление отслеживается в скрипте.
Продолжить чтение «Освобождение места под бэкапы Solaris 9»