env

Запись сообщений в syslog из shell скрипта

Логи в скриптах можно вести несколькими способами, один из самых простых – записывать новые сообщения в какой-то файл. Но мне такой подход кажется неправильным. В системе уже есть специальный инструмент для ведения логов syslog. Вот его и стоит использовать!
Для добавления сообщений в syslog есть утилита logger. В принципе может писать сообщения и в отдельный файл. Напишу небольшую функцию, которую можно будет добавлять в любой скрипт для ведения логов.

add_log_message ()
{
 local logger='/usr/bin/logger'
 local tag='My Script'
 local port=514
 local host=localhost
 local facility='user'
 local level='notice'
 local message=$1
  if [ -z $message ]; then
        return 1
  else
    $logger -t "$tag" -p ${facility}.${level} -P $port -h $host "$message"
    if [ "x$?" != "x0" ]; then
        return 2
    fi
  fi
}

add_log_message 'Hello world'

Опция -t задает TAG, фактически TAG можно использовать для идентификации источника сообщения. Так же logger умеет отправлять сообщения syslog-у на другом сервер, т.е. легко можно организовать сбор всех типов логов на один сервер.

logger -P 514 -h logger.domain.ru 'Hello World'

По умолчанию logger пишет все сообщения в facility user с приоритетом notice, но это можно поменять используя ключ -p:

logger -p cron.warning 'Hello world'

Tags: , ,

Среда, Апрель 28th, 2010 Советы Нет комментариев

Быстрый способ создать большой файл при помощи dd

Иногда для тестирования нужно создать какой-то большой файл. Для этого чаще всего применяют утилиту dd.
Файл создается обычно так:

dd if=/dev/zero of=/data/bigfile count=1024 bs=1024k

Получим файл размером в 1GB, причем dd честно 1024 раза запишет нули блоками по 1МБ. С 1Гб можно и потерпеть, но как быть с 10ГБ или 100ГБ? Ждать долго, да и диски жалко. Есть более быстрый и простой способ – опция seek. Смысл ее в том, что запись dd начнет только после нахождения определенного номера блока с начала вывода из if. Если я правильно понимаю физику процесса, то происходит это так: dd создает файл, ждет пока пройдет N блоков, указанных в seek, после чего начинает записывать блоки, указанные в count. Получается “пустой” файл большого размера.

dd if=/dev/zero of=/data/bigfile count=1 bs=1024k seek=`expr 1024 * 10`

Мгновенно получаем файл, размером в 10ГБ!

Tags:

Вторник, Апрель 20th, 2010 Новости Нет комментариев

Как посмотреть окружение запущенного процесса?

Иногда нужно подсмотреть окружение запущенного процесса, для этого есть несколько способов и утилит.
Linux:
cat /proc/PID/environ

Solaris:
pargs -e PID

FreeBSD:
mount -t procfs none /proc
ps ewwwp PID

Общий подход для всех UNIX систем:
gcore PID
получим core файл
string core.PID

Tags: , , ,

Понедельник, Ноябрь 23rd, 2009 Советы Нет комментариев

Как приостановить процесс и потом вернуться к его исполнению в Linux

Если у вас есть какой-то работающий процесс, например gzip, архивирующий большой объем данных, и вам вдруг стало необходимо проверить, а хватит ли места на диске, то вас совершенно необязательно прерывать архивирование.
› Continue reading

Tags:

Понедельник, Сентябрь 21st, 2009 Советы Нет комментариев

Alias – хороший способ упростить свою жизнь в консоли.

Любой unix-администратор проводит большую часть своего рабочего времени в консоли. Команды, команды и еще раз команды — вот наш хлеб. Но все равно хочется организовать свою работу так, чтобы в ней было меньше рутины. Хорошим подспорьем будет команда alias.
› Continue reading

Tags:

Понедельник, Сентябрь 21st, 2009 Советы Нет комментариев

Поиск файлов в linux: find

Задача поиска определенных файлов или каталогов достаточно часто встречается в работе Unix-администратора. Начинающие администраторы решают ее странными и малоэффективными способами, например я в первые дни своего знакомства с linux использовал ls с ключом рекурсивного просмотра каталогов и потом натравливал grep на вывод ls. Согласитесь, выглядит достаточно дико.
› Continue reading

Tags:

Понедельник, Сентябрь 21st, 2009 Статьи Нет комментариев
Cheap Retro Replica NFL NBA MLB Throwback Football Basketball Jerseys | hp printer ink cartridges refills| Jewelry Making Supplies | Thumb Joint Pain | Dog Health Problems |Tinkerbell Personal Checks |Garden Planters