Skip to content


И снова о кошках: SDM templates

кот, сидящий на кошкеИногда встречаются ситуации, когда L3-коммутатор маршрутизирует трафик намного медленее, чем от него ожидается. В таких случаях нужно проверить правильность установки профиля выделения ресурсов, который известен как Switch Database Management template. Эти профили управляют приоретностью выделения системных ресурсов с целью оптимизации поддержки следующих возможностей:

  • маршрутизация (Routing) — максимизация выделения ресурсов для выполнения функций маршрутизации;
  • VLANs — отключение маршрутизации и максимизация количества доступных MAC-адресов (обычно требуется, если коммутатор работает исключительно как L2-коммутатор).
  • Default — баланс между первыми двумя функциями

Профиль устанавливается следующей командой:
sdm prefer {default | routing | vlan}

Примеры реакции некоторых коммутаторов на команду "sh sdm prefer".

Cisco Catalyst 3560G:

switch#sh sdm prefer
  The current template is "desktop routing" template.
  The selected template optimizes the resources in
  the switch to support this level of features for
  8 routed interfaces and 1024 VLANs.
 
   number of unicast mac addresses:                  3K
   number of IPv4 IGMP groups + multicast routes:    1K
   number of IPv4 unicast routes:                    11K
     number of directly-connected IPv4 hosts:        3K
     number of indirect IPv4 routes:                 8K
   number of IPv4 policy based routing aces:         0.5K
   number of IPv4/MAC qos aces:                      0.75K
   number of IPv4/MAC security aces:                 1K

Cisco Catalyst 2970:

switch#show sdm prefer
  The current template is "desktop default" template.
  The selected template optimizes the resources in
  the switch to support this level of features for
  8 routed interfaces and 1024 VLANs.
 
   number of unicast mac addresses:                  8K
   number of IPv4 IGMP groups:                       1K
   number of IPv4/MAC qos aces:                      0.5K
   number of IPv4/MAC security aces:                 1K

Подробнее можно почитать тут.

Posted in Cisco.

Tagged with .


Включение в лог sSMTP даты и времени отправки письма

Патч, который добавляет в лог запись даты и врмени отправки письма.
Чтобы запись в лог работала, sSMTP должен быть сконфигурен с ключом --enable-logfile.
Я также добавляю еще и ключ --enable-ssl, чтобы в логе не было ругани

Unable to set UseTLS="NO"
Unable to set UseTLSCert="NO"

Тестировалось на sSMTP 2.62, размер файла ssmtp.c 42980 байт.
Чтобы пропатчить, используем в директории, где лежит ssmtp.c, команду

patch -p0 < ssmtp.patch

Содержимое файла ssmtp.patch:

--- ssmtp.c 2008-03-06 22:01:22.000000000 +0200
+++ ssmtp.c 2009-03-15 00:02:11.000000000 +0200
@@ -39,6 +39,9 @@
 #include <fcntl.h>
 #include "xgethostname.h"
 
+// added by avz 2008-03-14
+#include <time.h>
+
 bool_t have_date = False;
 bool_t have_from = False;
 #ifdef HASTO_OPTION
@@ -112,12 +115,12 @@
 #ifdef LOGFILE
  FILE *fp;
 
- if((fp = fopen("/tmp/ssmtp.log", "a")) != (FILE *)NULL) {
+ if((fp = fopen("/var/log/ssmtp.log", "a")) != (FILE *)NULL) {
    (void)fprintf(fp, "%s\n", buf);
    (void)fclose(fp);
  }
  else {
-   (void)fprintf(stderr, "Can't write to /tmp/ssmtp.log\n");
+   (void)fprintf(stderr, "Can't write to /var/log/ssmtp.log\n");
  }
 #endif
 
@@ -1408,6 +1411,9 @@
  uid_t uid;
  bool_t minus_v_save;
  int timeout = 0;
+ // added by avz 2009-03-14
+  time_t event_time;
+ struct tm *tms;
 
  outbytes = 0;
  ht = &headers;
@@ -1663,8 +1669,12 @@
  (void)smtp_okay(sock, buf);
  (void)close(sock);
 
- log_event(LOG_INFO, "Sent mail for %s (%s) uid=%d username=%s outbytes=%d",
-   from_strip(uad), buf, uid, pw->pw_name, outbytes);
+ // added by avz 2009-03-14
+ time(&event_time);
+  tms=localtime(&event_time);
+ // log_event(LOG_INFO, "Sent mail for %s (%s) uid=%d username=%s outbytes=%d",  from_strip(uad), buf, uid, pw->pw_name, outbytes);
+ log_event(LOG_INFO, "%4.4d-%2.2d-%2.2d %2.2d:%2.2d:%2.2d sent mail for %s (%s) uid=%d username=%s outbytes=%d",
+   1900+tms->tm_year,1+tms->tm_mon,tms->tm_mday,tms->tm_hour,tms->tm_min,tms->tm_sec, from_strip(uad), buf, uid, pw->pw_name, outbytes);
 
  return(0);
 }

Posted in *nix.

Tagged with .


hobocopy - копирование файлов, которые используются в данный момент

Оригинальное название статьи - 'Backup/Copy Files that are "In Use" or "Locked" in Windows'.

Если Вы когда-то пробовали скопировать файл, который используется другим приложением, Вы могли видеть сообщение об ошибке типа "The process cannot access the file because another process has locked a portion of the file". Начиная с Windows XP, поддерживается технология Volume Shadow Copy (в русской версии соответствующий сервис называется "Теневое копирование тома"), которая используется для реализации фич Previous versions ("Предыдущие версии") в Vista, System Restore ("Восстановление системы") и бекапов. Суть в том, что создается временный "снимок" файла или раздела, а затем приложению дается возможность чтения этого "снимка", даже если другие приложения читают или даже модифицируют данный файл. Одна из полезных утилит, которая использует технологию Volume Shadow Copy, называется HoboCopy. Для ее работы должен также быть запущен сервис "Microsoft Software Shadow Copy Provider".

Копиривание одного файла
Ситнаксис командной строки:

hobocopy c:\directoryname\ d:\backupdirectory\

Например, если мы хотим скопировать файл c:\users\vasya\mail\outlook.pst в d:\backups\outlook.pst, то команда будет следующая:

C:\>hobocopy c:\users\vasya\mail\ d:\backups\Outlook.pst
 
HoboCopy (c) 2006 Wangdera Corporation. [email protected]
Starting a full copy from c:\users\vasya\mail to d:\backups\
Copied directory
Backup successfully completed.
Backup started at 2008-03-09 01:57:28, completed at 2008-03-09 01:58:39.
1 files (606.45 MB, 1 directories) copied, 7 files skipped

Копирование директории
Можно также скопировать сразу всю директорию, в этом случае нужно использовать опции /full, /r (рекурсивное копирование) и /y (не спрашивать подтверждения).

Пример:

hobocopy /full /skipdenied /y /r c:\users\vasya\ d:\backups\

Инкрементальное копирование
А для регулярного копирования целого раздела пригодятся опции /incremental (копировать только файлы, измененные с момента последнего полного копирования) и /statefile (указывается путь к файлу, содержащему служебную информацию о последнем бекапе).

Пример:

hobocopy /incremental /statefile=d:\lastbackup.dat /y /r c:\users\vasya\ d:\backups\

При первом запуске вместо /incremental следует использовать /full чтобы создался файл состояния.

Утилиту скачать можно здесь.

Posted in Windows.

Tagged with , .


Установка rpm-пакета в chroot-окружении

Иногда возникает необходимость доустановить какой-то софт из RPM-пакета в уже созданное chroot-окружение. Это можно сделать, например, так:

rpm --root /chr/httpd --dbpath ../../var/lib/rpm/ --nodeps -ivh mc-4.6.1.rpm

Предполагается, что chroot-окружение живет в директории /chr/httpd, все зависимости для пакета mc уже установлены ранее. Параметром --dbpath задается путь к базе данных RPM, причем значение этого параметра указано так, чтобы устанавливаемый пакет зарегистрировался в базе основной системы (/var/lib/rpm).

А вот скачивать нужные пакеты удобнее всего с помощью yumdownloader.

Posted in *nix.

Tagged with , , .