Пробежимся с Endomondo? 

На днях я столкнулся с интересным сервисом — Endomondo.

Endomondo.com

Он мне показался занятным, и я решил познакомить с ним тех из вас, кто о нем еще ничего не знает :). [ ... ]

Gmail и Google Buzz 

Сегодня утром я полез на gmail и увидел такую картинку на странице авторизации:

Страница авторизации Gmail с предложением попробовать "Живую ленту"

“Что это?” — подумал я и нажал на синенькую кнопку с надписью “Попробовать…”. Вот что я увидел после загрузки интерфейса Gmail: [ ... ]

Akismet + Simple CAPTCHA ‹ NotCAPTCHA: решение неравенства? 

Прошел месяц с тех пор, как я снял защиту Akismet и заменил Simple CAPTCHA на NotCAPTCHA для отсеивания спамеров на своем блоге. Думаю, пора подвести некоторые итоги использования такой комбинации защиты. [ ... ]

Mac OS X и Ext2/3 

Опять? Да, опять ;). Про монтирование этих файловых систем в Windows вы можете почитать здесь. Однако, если ваша рабочая ОС — Mac OS X и вам необходимо получить доступ к Ext2/3, вы можете скачать утилиту Ext2fsx. Говорящее название, не так ли? ;). Скачиваете, ставите, перезагружаетесь, и система автоматически монтирует ваши EXT-разделы, делая точки монтирования по метке раздела. Если метка раздела пуста, то она называет их Untitled. Кстати, в этом заключается небольшая проблема. Дело в том, что, если, например у вас в системе примонтирован NTFS-раздел без метки, он монтируется к директории с аналогичным названием — отличие только в регистре. В принципе, это не мешает, мешает то, что в Finder’e все подмонтированные разделы на левой панели с аналогичным названием по клику на них ведут все время на какой-то один раздел, необязательно на тот, который нужен. Впрочем, доступ получить все равно можно — для этого достаточно зайти на раздел с рабочего стола системы, где располагаются дисковые устройства, подмонтированные к вашей системе.

ext2fsx в действии

Напоследок замечу, что драйвер рекомендуется использовать в режиме “только для чтения”. Писать в раздел драйвер позволяет, но могут возникнуть проблемы с журналом ФС, и его придется восстанавливать. Есть мысль, что этим драйвером можно монтировать и EXT4-разделы — особенность этой ФС в ее обратной совместимости — в Linux ее можно монтировать как EXT2, естественно без журнала и фишек этой ФС. Однако я этого не пробовал — нет EXT4-раздела. Так что экспериментируйте с EXT4 сами ;)

Управление логами при помощи Logrotate 

Любой программист или системный администратор прекрасно понимает, насколько важно ведение логов системы. Все работает, логи пишутся. Но если это дело не контролировать, то файлы со временем разрастаются до удручающих размеров и количеств. Для контроля логов - ротации - существует утилита logrotate. Что она делает? Эта утилита по заданным параметрам архивирует логи и складывает их туда, куда необходимо, а также управляет количеством бэкапов для каждого log-файла. Это вкратце. Подробнее можно почитать в

man logrotate

Итак, допустим, мы имеем какой-либо программный продукт, который круглосуточно одаривает нас подробными логами. Их наличие нам необходимо для анализа и наблюдения за работой системы, и мы хотим прибегнуть к их ротированию. Как это сделать при помощи logrotate?

Итак, я буду “говорить” за Ubuntu, и, надеюсь, за Debian.

Конфигурационные файлы logrotate размещаются в директории

/etc/logrotate.d/

Это типичное расположение конфигурационных файлов. Оно описывается в основном конфиге в строчке

include /etc/logrotate.d

Естественно, все это дело можно изменить. Но, я сейчас не об этом. Допустим, у меня есть директория, в которую сваливается кучка log-файлов с расширением (это которое file extension) .log. Мне необходимо ротировать логи ежедневно, при этом сжимать их и отправлять в определенную директорию. Как это сделать? Скачем в директорию /etc/logrotate.d/, создаем в ней файл с понятным нам именем, открываем его редактором (конечно делать все это надо из под root) и пишем примерно следующее:

/<путь>/<до>/<логов>/*.log {
    daily
    missingok
    rotate 28
    compress
    nodelaycompress
    notifempty
    create 640 user group
    olddir /var/log/<директория с логами>
}

Итак, что здесь что означает:

  • daily — периодичность ротации “ежедневно”, может быть, например monthly — ежемесячно;
  • missingok — данный параметр сообщает утилите, что отсутствие лога не является ошибкой;
  • rotate 28 — параметр определяет сколько фрагментов одного лога хранить. в Данном случае я указал, чтобы хранилось 28 фрагментов каждого лога, по одному фрагменту на день;
  • compress — параметр определяет, сжимать логи или нет;
  • nodelaycompress — не откладывать сжатие фрагмента на следующий цикл ротации;
  • notifempty — не ролировать лог, размер которого 0 байт;
  • create 640 user group — с какими правами доступа и какого пользователя с группой делать владельцем лога;
  • olddir /var/log/<директория с логами> — директория, в которую будут складываться сжатые фрагменты логов.

Я не указал еще несколько параметров, таких, как, например, size — размер log-файла. Параметр позволяет ротировать логи не по временному промежутку, а по размеру логов. Подробнее можно прочитать в

man logrotate

После конфигурирования имеет смысл выполнить

logrotate -f

для принудительного запуска утилиты. Это полезно, если вы создали новые записи в конфигах logrotate.

Вот и всё, держите ваши файлы в порядке ;).