среда, 31 августа 2011 г.

Получение списка файлов, не закрепленных ни за одним из установленных пакетов FreeBSD

При установке любого приложения из портов сохраняется список содержащихся в нем файлов (plist), делается это для того, чтобы пакет впоследствии можно было удалить. Но целому по ряду причин этот механизм не совершенен, поэтому при удалении или обновлении портов остаются не удаленные файлы. На самом деле никакой опасности они не представляют, но возникает вопрос, как их найти.

воскресенье, 14 августа 2011 г.

Изменение интервала обработки данных Munin

В случае большого количества хостов мунин может не успевать обработать все данные до следующего запуска и процессы будут накладываться друг на друга. Об этом говорят письма с таким текстом:

[FATAL ERROR] Lock already exists: /var/run/munin/munin-update.lock. Dying.
 at /usr/local/lib/perl5/site_perl/5.10.1/Munin/Master/Update.pm line 128

пятница, 5 августа 2011 г.

Манипуляции с unix timestamp

Традиционно время в юниксах измеряется в секундах от полуночи 1 января 1970 года.
Чтобы получить значение временной метки для определенной даты, проще всего использовать функцию mktime perl:
#/usr/bin/perl
USE POSIX;
my ( $sec, $min, $hour, $mday, $mon, $year ) = ( 1, 0, 0, 1, 10, 107 );
my $timestamp = mktime( $sec, $min, $hour, $mday, $mon, $year );
print $timestamp

А если нужно наоборот из временной метки получить дату в читаемом виде, достаточно воспользоваться стандартной утилитой date:
date -r 10000
четверг,  1 января 1970 г. 05:46:40 (MSK)