Author Archive

OTRS: хранение заявок на ФС

OTRS

OTRS

По умолчанию все заявки в системе OTRS хранятся в БД, причем там же хранятся и вложения к заявкам, а это скриншоты, логи ошибок, програмки и т.д.
Когда заявок много, то база из-за этого может разростись на несколько Гб, что сказывается на скорости работы самого HelpDesk особенно когда строятся отчеты или производится поиск.
Для этого в самом OTRS предусмотрен вынос всех вложений и писем на файловую систему.
Прежде чем начинать перенос данных рекомендую сделать backup и проверить права на папку var/attachment и var вцелом. Владельцем должен быть пользователь otrs (согласно инструкции по установке)
Read more

Удаленный доступ к RDP, VNC, SSH, Telnet с помощью mRemoteNG

Часто приходится удаленно управлять компьютерами, серверами и техникой через удаленный доступ, при этом все используют разные способы доступа. Компьютеры – через RDP; сервера – RDP, SSH, VNC; маршрутизаторы – SSH, Telnet; виртуальные машины – VNC и т.д.
mRemoteNG

Каждый раз запускать приложения надоедает, а держать этот зоопарк софта запущеным не логично.
В поисках единого средства доступа ко всем протоколам я наткнулся на mRemote. Все бы хорошо, но эту программу выкупила компания Visionapp и предлагает более навороченую версию за деньги причем не малые. Оригинальная версия mRemote не обновлялась с 2008 года и в ней не доступна авторизация через NLA, что не позволяет авторизироваться на Windows сервера.
Read more

Доступ к Ext4 из Windows

Для доступа к файловым системам Linux из Windows можно использовать драйвер Ext2Fsd, который позволяет производить чтение/запись на Ext2, Ext3, Ext4 (с версии V0.51)
Скачать драйвер можно отсюда http://sourceforge.net/projects/ext2fsd/files/Ext2fsd/0.51/

ext2fsd внешний вид

ext2fsd внешний вид


Read more

Переслать все письма с консоли


( ! ) Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/reverse.org.ua/default/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Call Stack
#TimeMemoryFunctionLocation
10.0000369088{main}( ).../index.php:0
20.0001369448require( '/var/www/reverse.org.ua/default/wp-blog-header.php ).../index.php:17
30.10547217952require_once( '/var/www/reverse.org.ua/default/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.10617237648include( '/var/www/reverse.org.ua/default/wp-content/themes/monochrome/archive.php ).../template-loader.php:106
50.12067853528the_content( $more_link_text = 'Read more', $strip_teaser = ??? ).../archive.php:44
60.12067853528apply_filters( $hook_name = 'the_content', $value = 'Иногда нужно переслать все письма одного пользователя другому.\r\nМожно подключить ящик и руками все поперекидывать, а можно на сервере <strong>Exim</strong> выполнить такое действие:\r\n<pre lang="bash">\r\ncd /mail/olduser\r\nfor i in $(ls); do sendmail -i newuser@corp.ua < $i; done;\r\n</pre>' ).../post-template.php:256
70.12067853936WP_Hook->apply_filters( $value = 'Иногда нужно переслать все письма одного пользователя другому.\r\nМожно подключить ящик и руками все поперекидывать, а можно на сервере <strong>Exim</strong> выполнить такое действие:\r\n<pre lang="bash">\r\ncd /mail/olduser\r\nfor i in $(ls); do sendmail -i newuser@corp.ua < $i; done;\r\n</pre>', $args = [0 => 'Иногда нужно переслать все письма одного пользователя другому.\r\nМожно подключить ящик и руками все поперекидывать, а можно на сервере <strong>Exim</strong> выполнить такое действие:\r\n<pre lang="bash">\r\ncd /mail/olduser\r\nfor i in $(ls); do sendmail -i newuser@corp.ua < $i; done;\r\n</pre>'] ).../plugin.php:205
80.12067854312WP_Syntax::beforeFilter( $content = 'Иногда нужно переслать все письма одного пользователя другому.\r\nМожно подключить ящик и руками все поперекидывать, а можно на сервере <strong>Exim</strong> выполнить такое действие:\r\n<pre lang="bash">\r\ncd /mail/olduser\r\nfor i in $(ls); do sendmail -i newuser@corp.ua < $i; done;\r\n</pre>' ).../class-wp-hook.php:324
90.12067854312preg_replace_callback( $pattern = '/\\s*<pre(?:lang=["\']([\\w-]+)["\']|line=["\'](\\d*)["\']|escaped=["\'](true|false)?["\']|highlight=["\']((?:\\d+[,-])*\\d+)["\']|src=["\']([^"\']+)["\']|\\s)+>(.*)<\\/pre>\\s*/siU', $callback = [0 => 'WP_Syntax', 1 => 'substituteToken'], $subject = 'Иногда нужно переслать все письма одного пользователя другому.\r\nМожно подключить ящик и руками все поперекидывать, а можно на сервере <strong>Exim</strong> выполнить такое действие:\r\n<pre lang="bash">\r\ncd /mail/olduser\r\nfor i in $(ls); do sendmail -i newuser@corp.ua < $i; done;\r\n</pre>' ).../wp-syntax.php:383

Иногда нужно переслать все письма одного пользователя другому.
Можно подключить ящик и руками все поперекидывать, а можно на сервере Exim выполнить такое действие:

cd /mail/olduser
for i in $(ls); do sendmail -i newuser@corp.ua < $i; done;

Авторизация через FreeRADIUS в Gentoo и логирование в MySQL


( ! ) Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/reverse.org.ua/default/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Call Stack
#TimeMemoryFunctionLocation
10.0000369088{main}( ).../index.php:0
20.0001369448require( '/var/www/reverse.org.ua/default/wp-blog-header.php ).../index.php:17
30.10547217952require_once( '/var/www/reverse.org.ua/default/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.10617237648include( '/var/www/reverse.org.ua/default/wp-content/themes/monochrome/archive.php ).../template-loader.php:106
50.12167873096the_content( $more_link_text = 'Read more', $strip_teaser = ??? ).../archive.php:44
60.12177875144apply_filters( $hook_name = 'the_content', $value = 'Никаких велосипедов здесь не будет, просто записка для себя\r\nВводные данные\r\n<strong>FreeRADIUS</strong> — <strong>RADIUS</strong> сервер с открытым исходным кодом.\r\n\r\nЭто альтернатива других коммерческих <strong>RADIUS</strong> серверов, он имеет модульную структуру и хорошую функциональность. Кроме того, он вхо'... ).../post-template.php:256
70.12177875552WP_Hook->apply_filters( $value = 'Никаких велосипедов здесь не будет, просто записка для себя\r\nВводные данные\r\n<strong>FreeRADIUS</strong> — <strong>RADIUS</strong> сервер с открытым исходным кодом.\r\n\r\nЭто альтернатива других коммерческих <strong>RADIUS</strong> серверов, он имеет модульную структуру и хорошую функциональность. Кроме того, он вхо'..., $args = [0 => 'Никаких велосипедов здесь не будет, просто записка для себя\r\nВводные данные\r\n<strong>FreeRADIUS</strong> — <strong>RADIUS</strong> сервер с открытым исходным кодом.\r\n\r\nЭто альтернатива других коммерческих <strong>RADIUS</strong> серверов, он имеет модульную структуру и хорошую функциональность. Кроме того, он вхо'...] ).../plugin.php:205
80.12177875928WP_Syntax::beforeFilter( $content = 'Никаких велосипедов здесь не будет, просто записка для себя\r\nВводные данные\r\n<strong>FreeRADIUS</strong> — <strong>RADIUS</strong> сервер с открытым исходным кодом.\r\n\r\nЭто альтернатива других коммерческих <strong>RADIUS</strong> серверов, он имеет модульную структуру и хорошую функциональность. Кроме того, он вхо'... ).../class-wp-hook.php:324
90.12177875928preg_replace_callback( $pattern = '/\\s*<pre(?:lang=["\']([\\w-]+)["\']|line=["\'](\\d*)["\']|escaped=["\'](true|false)?["\']|highlight=["\']((?:\\d+[,-])*\\d+)["\']|src=["\']([^"\']+)["\']|\\s)+>(.*)<\\/pre>\\s*/siU', $callback = [0 => 'WP_Syntax', 1 => 'substituteToken'], $subject = 'Никаких велосипедов здесь не будет, просто записка для себя\r\nВводные данные\r\n<strong>FreeRADIUS</strong> — <strong>RADIUS</strong> сервер с открытым исходным кодом.\r\n\r\nЭто альтернатива других коммерческих <strong>RADIUS</strong> серверов, он имеет модульную структуру и хорошую функциональность. Кроме того, он вхо'... ).../wp-syntax.php:383

( ! ) Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/reverse.org.ua/default/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Call Stack
#TimeMemoryFunctionLocation
10.0000369088{main}( ).../index.php:0
20.0001369448require( '/var/www/reverse.org.ua/default/wp-blog-header.php ).../index.php:17
30.10547217952require_once( '/var/www/reverse.org.ua/default/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.10617237648include( '/var/www/reverse.org.ua/default/wp-content/themes/monochrome/archive.php ).../template-loader.php:106
50.12167873096the_content( $more_link_text = 'Read more', $strip_teaser = ??? ).../archive.php:44
60.12177875144apply_filters( $hook_name = 'the_content', $value = 'Никаких велосипедов здесь не будет, просто записка для себя\r\nВводные данные\r\n<strong>FreeRADIUS</strong> — <strong>RADIUS</strong> сервер с открытым исходным кодом.\r\n\r\nЭто альтернатива других коммерческих <strong>RADIUS</strong> серверов, он имеет модульную структуру и хорошую функциональность. Кроме того, он вхо'... ).../post-template.php:256
70.12177875552WP_Hook->apply_filters( $value = 'Никаких велосипедов здесь не будет, просто записка для себя\r\nВводные данные\r\n<strong>FreeRADIUS</strong> — <strong>RADIUS</strong> сервер с открытым исходным кодом.\r\n\r\nЭто альтернатива других коммерческих <strong>RADIUS</strong> серверов, он имеет модульную структуру и хорошую функциональность. Кроме того, он вхо'..., $args = [0 => 'Никаких велосипедов здесь не будет, просто записка для себя\r\nВводные данные\r\n<strong>FreeRADIUS</strong> — <strong>RADIUS</strong> сервер с открытым исходным кодом.\r\n\r\nЭто альтернатива других коммерческих <strong>RADIUS</strong> серверов, он имеет модульную структуру и хорошую функциональность. Кроме того, он вхо'...] ).../plugin.php:205
80.12177875928WP_Syntax::beforeFilter( $content = 'Никаких велосипедов здесь не будет, просто записка для себя\r\nВводные данные\r\n<strong>FreeRADIUS</strong> — <strong>RADIUS</strong> сервер с открытым исходным кодом.\r\n\r\nЭто альтернатива других коммерческих <strong>RADIUS</strong> серверов, он имеет модульную структуру и хорошую функциональность. Кроме того, он вхо'... ).../class-wp-hook.php:324
90.12177875928preg_replace_callback( $pattern = '/\\s*<pre(?:lang=["\']([\\w-]+)["\']|line=["\'](\\d*)["\']|escaped=["\'](true|false)?["\']|highlight=["\']((?:\\d+[,-])*\\d+)["\']|src=["\']([^"\']+)["\']|\\s)+>(.*)<\\/pre>\\s*/siU', $callback = [0 => 'WP_Syntax', 1 => 'substituteToken'], $subject = 'Никаких велосипедов здесь не будет, просто записка для себя\r\nВводные данные\r\n<strong>FreeRADIUS</strong> — <strong>RADIUS</strong> сервер с открытым исходным кодом.\r\n\r\nЭто альтернатива других коммерческих <strong>RADIUS</strong> серверов, он имеет модульную структуру и хорошую функциональность. Кроме того, он вхо'... ).../wp-syntax.php:383

Никаких велосипедов здесь не будет, просто записка для себя
Вводные данные
FreeRADIUSRADIUS сервер с открытым исходным кодом.

Это альтернатива других коммерческих RADIUS серверов, он имеет модульную структуру и хорошую функциональность. Кроме того, он входит в пятёрку RADIUS серверов мира по количеству пользователей, которых этот сервер авторизует ежедневно.

Может работать на встраиваемых системах с небольшим количеством памяти или обслуживать несколько миллионов пользователей на более серьезном уровне. FreeRADIUS быстрый, гибкий, настраиваемый, а также поддерживает больше протоколов аутентификации, чем многие коммерческие серверы. В настоящее время FreeRADIUS используется как основа для разработки коммерческих RADIUS серверов.

Устанавливаем FreeRadius

emerge freeradius

После этого перемещаем оригинальные конфиги в папку origin, чтоб в будущем подглядывать на синтаксис

mkdir -p /etc/raddb/orig 
mv /etc/raddb/* /etc/raddb/orig

Read more

Монтируем iso образ в Линукс


( ! ) Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/reverse.org.ua/default/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Call Stack
#TimeMemoryFunctionLocation
10.0000369088{main}( ).../index.php:0
20.0001369448require( '/var/www/reverse.org.ua/default/wp-blog-header.php ).../index.php:17
30.10547217952require_once( '/var/www/reverse.org.ua/default/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.10617237648include( '/var/www/reverse.org.ua/default/wp-content/themes/monochrome/archive.php ).../template-loader.php:106
50.12287891168the_content( $more_link_text = 'Read more', $strip_teaser = ??? ).../archive.php:44
60.12297891808apply_filters( $hook_name = 'the_content', $value = 'Для этих целей можно и нужно использовать утилиту losetup:\r\n<pre lang="bash">\r\nlosetup /dev/loop0 /data/files/video.iso\r\nmount /dev/loop0 /mnt/video\r\n</pre>\r\nОбратная процедура:\r\n<pre lang="bash">\r\numount /mnt\r\nlosetup -d /dev/loop0\r\n</pre>\r\nВсего в системе 8 loop устройств, если необходимо больше то их можно создать вручную:\r\n <a href="https://reverse.org.ua/montiruem-iso-obraz-v-linu'... ).../post-template.php:256
70.12297892216WP_Hook->apply_filters( $value = 'Для этих целей можно и нужно использовать утилиту losetup:\r\n<pre lang="bash">\r\nlosetup /dev/loop0 /data/files/video.iso\r\nmount /dev/loop0 /mnt/video\r\n</pre>\r\nОбратная процедура:\r\n<pre lang="bash">\r\numount /mnt\r\nlosetup -d /dev/loop0\r\n</pre>\r\nВсего в системе 8 loop устройств, если необходимо больше то их можно создать вручную:\r\n <a href="https://reverse.org.ua/montiruem-iso-obraz-v-linu'..., $args = [0 => 'Для этих целей можно и нужно использовать утилиту losetup:\r\n<pre lang="bash">\r\nlosetup /dev/loop0 /data/files/video.iso\r\nmount /dev/loop0 /mnt/video\r\n</pre>\r\nОбратная процедура:\r\n<pre lang="bash">\r\numount /mnt\r\nlosetup -d /dev/loop0\r\n</pre>\r\nВсего в системе 8 loop устройств, если необходимо больше то их можно создать вручную:\r\n <a href="https://reverse.org.ua/montiruem-iso-obraz-v-linu'...] ).../plugin.php:205
80.12297892592WP_Syntax::beforeFilter( $content = 'Для этих целей можно и нужно использовать утилиту losetup:\r\n<pre lang="bash">\r\nlosetup /dev/loop0 /data/files/video.iso\r\nmount /dev/loop0 /mnt/video\r\n</pre>\r\nОбратная процедура:\r\n<pre lang="bash">\r\numount /mnt\r\nlosetup -d /dev/loop0\r\n</pre>\r\nВсего в системе 8 loop устройств, если необходимо больше то их можно создать вручную:\r\n <a href="https://reverse.org.ua/montiruem-iso-obraz-v-linu'... ).../class-wp-hook.php:324
90.12297892592preg_replace_callback( $pattern = '/\\s*<pre(?:lang=["\']([\\w-]+)["\']|line=["\'](\\d*)["\']|escaped=["\'](true|false)?["\']|highlight=["\']((?:\\d+[,-])*\\d+)["\']|src=["\']([^"\']+)["\']|\\s)+>(.*)<\\/pre>\\s*/siU', $callback = [0 => 'WP_Syntax', 1 => 'substituteToken'], $subject = 'Для этих целей можно и нужно использовать утилиту losetup:\r\n<pre lang="bash">\r\nlosetup /dev/loop0 /data/files/video.iso\r\nmount /dev/loop0 /mnt/video\r\n</pre>\r\nОбратная процедура:\r\n<pre lang="bash">\r\numount /mnt\r\nlosetup -d /dev/loop0\r\n</pre>\r\nВсего в системе 8 loop устройств, если необходимо больше то их можно создать вручную:\r\n <a href="https://reverse.org.ua/montiruem-iso-obraz-v-linu'... ).../wp-syntax.php:383

( ! ) Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/reverse.org.ua/default/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Call Stack
#TimeMemoryFunctionLocation
10.0000369088{main}( ).../index.php:0
20.0001369448require( '/var/www/reverse.org.ua/default/wp-blog-header.php ).../index.php:17
30.10547217952require_once( '/var/www/reverse.org.ua/default/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.10617237648include( '/var/www/reverse.org.ua/default/wp-content/themes/monochrome/archive.php ).../template-loader.php:106
50.12287891168the_content( $more_link_text = 'Read more', $strip_teaser = ??? ).../archive.php:44
60.12297891808apply_filters( $hook_name = 'the_content', $value = 'Для этих целей можно и нужно использовать утилиту losetup:\r\n<pre lang="bash">\r\nlosetup /dev/loop0 /data/files/video.iso\r\nmount /dev/loop0 /mnt/video\r\n</pre>\r\nОбратная процедура:\r\n<pre lang="bash">\r\numount /mnt\r\nlosetup -d /dev/loop0\r\n</pre>\r\nВсего в системе 8 loop устройств, если необходимо больше то их можно создать вручную:\r\n <a href="https://reverse.org.ua/montiruem-iso-obraz-v-linu'... ).../post-template.php:256
70.12297892216WP_Hook->apply_filters( $value = 'Для этих целей можно и нужно использовать утилиту losetup:\r\n<pre lang="bash">\r\nlosetup /dev/loop0 /data/files/video.iso\r\nmount /dev/loop0 /mnt/video\r\n</pre>\r\nОбратная процедура:\r\n<pre lang="bash">\r\numount /mnt\r\nlosetup -d /dev/loop0\r\n</pre>\r\nВсего в системе 8 loop устройств, если необходимо больше то их можно создать вручную:\r\n <a href="https://reverse.org.ua/montiruem-iso-obraz-v-linu'..., $args = [0 => 'Для этих целей можно и нужно использовать утилиту losetup:\r\n<pre lang="bash">\r\nlosetup /dev/loop0 /data/files/video.iso\r\nmount /dev/loop0 /mnt/video\r\n</pre>\r\nОбратная процедура:\r\n<pre lang="bash">\r\numount /mnt\r\nlosetup -d /dev/loop0\r\n</pre>\r\nВсего в системе 8 loop устройств, если необходимо больше то их можно создать вручную:\r\n <a href="https://reverse.org.ua/montiruem-iso-obraz-v-linu'...] ).../plugin.php:205
80.12297892592WP_Syntax::beforeFilter( $content = 'Для этих целей можно и нужно использовать утилиту losetup:\r\n<pre lang="bash">\r\nlosetup /dev/loop0 /data/files/video.iso\r\nmount /dev/loop0 /mnt/video\r\n</pre>\r\nОбратная процедура:\r\n<pre lang="bash">\r\numount /mnt\r\nlosetup -d /dev/loop0\r\n</pre>\r\nВсего в системе 8 loop устройств, если необходимо больше то их можно создать вручную:\r\n <a href="https://reverse.org.ua/montiruem-iso-obraz-v-linu'... ).../class-wp-hook.php:324
90.12297892592preg_replace_callback( $pattern = '/\\s*<pre(?:lang=["\']([\\w-]+)["\']|line=["\'](\\d*)["\']|escaped=["\'](true|false)?["\']|highlight=["\']((?:\\d+[,-])*\\d+)["\']|src=["\']([^"\']+)["\']|\\s)+>(.*)<\\/pre>\\s*/siU', $callback = [0 => 'WP_Syntax', 1 => 'substituteToken'], $subject = 'Для этих целей можно и нужно использовать утилиту losetup:\r\n<pre lang="bash">\r\nlosetup /dev/loop0 /data/files/video.iso\r\nmount /dev/loop0 /mnt/video\r\n</pre>\r\nОбратная процедура:\r\n<pre lang="bash">\r\numount /mnt\r\nlosetup -d /dev/loop0\r\n</pre>\r\nВсего в системе 8 loop устройств, если необходимо больше то их можно создать вручную:\r\n <a href="https://reverse.org.ua/montiruem-iso-obraz-v-linu'... ).../wp-syntax.php:383

Для этих целей можно и нужно использовать утилиту losetup:

losetup /dev/loop0 /data/files/video.iso
mount /dev/loop0 /mnt/video

Обратная процедура:

umount /mnt
losetup -d /dev/loop0

Всего в системе 8 loop устройств, если необходимо больше то их можно создать вручную:
Read more

Простой мониторинг сетевой активности Darkstat


( ! ) Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/reverse.org.ua/default/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Call Stack
#TimeMemoryFunctionLocation
10.0000369088{main}( ).../index.php:0
20.0001369448require( '/var/www/reverse.org.ua/default/wp-blog-header.php ).../index.php:17
30.10547217952require_once( '/var/www/reverse.org.ua/default/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.10617237648include( '/var/www/reverse.org.ua/default/wp-content/themes/monochrome/archive.php ).../template-loader.php:106
50.12387909560the_content( $more_link_text = 'Read more', $strip_teaser = ??? ).../archive.php:44
60.12387910456apply_filters( $hook_name = 'the_content', $value = 'Если нужно просто смотреть на загрузку сетевого интерфейса и считать приблизительный трафик по пользователям, то самый простой и надежный вариант это использование утилиты <strong>Darkstat</strong>.\r\nЭто очень легковесная (около 100кб в исходниках) утилитка основаная на библиотеке <strong>libcap</'... ).../post-template.php:256
70.12387910864WP_Hook->apply_filters( $value = 'Если нужно просто смотреть на загрузку сетевого интерфейса и считать приблизительный трафик по пользователям, то самый простой и надежный вариант это использование утилиты <strong>Darkstat</strong>.\r\nЭто очень легковесная (около 100кб в исходниках) утилитка основаная на библиотеке <strong>libcap</'..., $args = [0 => 'Если нужно просто смотреть на загрузку сетевого интерфейса и считать приблизительный трафик по пользователям, то самый простой и надежный вариант это использование утилиты <strong>Darkstat</strong>.\r\nЭто очень легковесная (около 100кб в исходниках) утилитка основаная на библиотеке <strong>libcap</'...] ).../plugin.php:205
80.12387911240WP_Syntax::beforeFilter( $content = 'Если нужно просто смотреть на загрузку сетевого интерфейса и считать приблизительный трафик по пользователям, то самый простой и надежный вариант это использование утилиты <strong>Darkstat</strong>.\r\nЭто очень легковесная (около 100кб в исходниках) утилитка основаная на библиотеке <strong>libcap</'... ).../class-wp-hook.php:324
90.12387911240preg_replace_callback( $pattern = '/\\s*<pre(?:lang=["\']([\\w-]+)["\']|line=["\'](\\d*)["\']|escaped=["\'](true|false)?["\']|highlight=["\']((?:\\d+[,-])*\\d+)["\']|src=["\']([^"\']+)["\']|\\s)+>(.*)<\\/pre>\\s*/siU', $callback = [0 => 'WP_Syntax', 1 => 'substituteToken'], $subject = 'Если нужно просто смотреть на загрузку сетевого интерфейса и считать приблизительный трафик по пользователям, то самый простой и надежный вариант это использование утилиты <strong>Darkstat</strong>.\r\nЭто очень легковесная (около 100кб в исходниках) утилитка основаная на библиотеке <strong>libcap</'... ).../wp-syntax.php:383

Если нужно просто смотреть на загрузку сетевого интерфейса и считать приблизительный трафик по пользователям, то самый простой и надежный вариант это использование утилиты Darkstat.
Это очень легковесная (около 100кб в исходниках) утилитка основаная на библиотеке libcap
Тестовый стенд:

Gentoo Linux 3.1.0-gentoo #1 SMP Tue Nov 1 22:36:19 EET 2011 x86_64 AMD Athlon(tm) Dual Core Processor 4050e AuthenticAMD GNU/Linux

Read more

Удаленная перезагрузка Windows


( ! ) Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/reverse.org.ua/default/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Call Stack
#TimeMemoryFunctionLocation
10.0000369088{main}( ).../index.php:0
20.0001369448require( '/var/www/reverse.org.ua/default/wp-blog-header.php ).../index.php:17
30.10547217952require_once( '/var/www/reverse.org.ua/default/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.10617237648include( '/var/www/reverse.org.ua/default/wp-content/themes/monochrome/archive.php ).../template-loader.php:106
50.12477926152the_content( $more_link_text = 'Read more', $strip_teaser = ??? ).../archive.php:44
60.12487926792apply_filters( $hook_name = 'the_content', $value = 'Когда на сервере происходит какой-то катаклизм и на него нельзя зайти даже по <strong>RDP</strong> то самый простой вариант это перезагрузить компьютер.\r\nНо как?\r\nНа помощь приходит штатная утиль <strong>shutdown</strong>\r\n<pre lang="bash">\r\nshutdown /f /r /m \\\\10.0.0.1 /t 00\r\n</pre>\r\n <a href="https://reverse.org.ua/udalennaya-perezagruzka-windows/#more-1371" class='... ).../post-template.php:256
70.12487927200WP_Hook->apply_filters( $value = 'Когда на сервере происходит какой-то катаклизм и на него нельзя зайти даже по <strong>RDP</strong> то самый простой вариант это перезагрузить компьютер.\r\nНо как?\r\nНа помощь приходит штатная утиль <strong>shutdown</strong>\r\n<pre lang="bash">\r\nshutdown /f /r /m \\\\10.0.0.1 /t 00\r\n</pre>\r\n <a href="https://reverse.org.ua/udalennaya-perezagruzka-windows/#more-1371" class='..., $args = [0 => 'Когда на сервере происходит какой-то катаклизм и на него нельзя зайти даже по <strong>RDP</strong> то самый простой вариант это перезагрузить компьютер.\r\nНо как?\r\nНа помощь приходит штатная утиль <strong>shutdown</strong>\r\n<pre lang="bash">\r\nshutdown /f /r /m \\\\10.0.0.1 /t 00\r\n</pre>\r\n <a href="https://reverse.org.ua/udalennaya-perezagruzka-windows/#more-1371" class='...] ).../plugin.php:205
80.12487927576WP_Syntax::beforeFilter( $content = 'Когда на сервере происходит какой-то катаклизм и на него нельзя зайти даже по <strong>RDP</strong> то самый простой вариант это перезагрузить компьютер.\r\nНо как?\r\nНа помощь приходит штатная утиль <strong>shutdown</strong>\r\n<pre lang="bash">\r\nshutdown /f /r /m \\\\10.0.0.1 /t 00\r\n</pre>\r\n <a href="https://reverse.org.ua/udalennaya-perezagruzka-windows/#more-1371" class='... ).../class-wp-hook.php:324
90.12487927576preg_replace_callback( $pattern = '/\\s*<pre(?:lang=["\']([\\w-]+)["\']|line=["\'](\\d*)["\']|escaped=["\'](true|false)?["\']|highlight=["\']((?:\\d+[,-])*\\d+)["\']|src=["\']([^"\']+)["\']|\\s)+>(.*)<\\/pre>\\s*/siU', $callback = [0 => 'WP_Syntax', 1 => 'substituteToken'], $subject = 'Когда на сервере происходит какой-то катаклизм и на него нельзя зайти даже по <strong>RDP</strong> то самый простой вариант это перезагрузить компьютер.\r\nНо как?\r\nНа помощь приходит штатная утиль <strong>shutdown</strong>\r\n<pre lang="bash">\r\nshutdown /f /r /m \\\\10.0.0.1 /t 00\r\n</pre>\r\n <a href="https://reverse.org.ua/udalennaya-perezagruzka-windows/#more-1371" class='... ).../wp-syntax.php:383

Когда на сервере происходит какой-то катаклизм и на него нельзя зайти даже по RDP то самый простой вариант это перезагрузить компьютер.
Но как?
На помощь приходит штатная утиль shutdown

shutdown /f /r /m \\10.0.0.1 /t 00

Read more

Экспорт логов отслеживания почты в Exchange 2010

Графическая консоль Exchange 2010 (Microsoft Exchange Troubleshooting Assistant) дает возможность только посмотреть на логи хождения почты.
При этом возможности хоть как-то сохранить эту информацию – нет. Доступно только копирование одной ячейки за один раз )
А иногда бывает необходимо предоставить информацию в нормальном виде, желательно хотя-бы в Excel.
Для этого нужно использовать Exchange Managment Shell
Read more

Чиним таблицу в MySQL


( ! ) Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/reverse.org.ua/default/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Call Stack
#TimeMemoryFunctionLocation
10.0000369088{main}( ).../index.php:0
20.0001369448require( '/var/www/reverse.org.ua/default/wp-blog-header.php ).../index.php:17
30.10547217952require_once( '/var/www/reverse.org.ua/default/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.10617237648include( '/var/www/reverse.org.ua/default/wp-content/themes/monochrome/archive.php ).../template-loader.php:106
50.12667931184the_content( $more_link_text = 'Read more', $strip_teaser = ??? ).../archive.php:44
60.12677932464apply_filters( $hook_name = 'the_content', $value = 'После какого-то сбоя перестал работать Cacti ругаясь на ошибку мускуля\r\n<pre lang="bash">\r\nCMDPHP: Poller[0] ERROR: A DB Exec Failed!, Error:\'130\', SQL:"insert into poller_output (local_data_id, rrd_name, time, output) values (39, \'traffic_in\', \'2012-06-18 08:49:09\', \'20090289\')\' \r\n</pre>\r\nБудем чинить базу стандартными методами\r\n<pre lang="bash">\r\nmysqlrepair --all-databases -u root -p\r\n</pre>\r\nНа, что мне в'... ).../post-template.php:256
70.12677932872WP_Hook->apply_filters( $value = 'После какого-то сбоя перестал работать Cacti ругаясь на ошибку мускуля\r\n<pre lang="bash">\r\nCMDPHP: Poller[0] ERROR: A DB Exec Failed!, Error:\'130\', SQL:"insert into poller_output (local_data_id, rrd_name, time, output) values (39, \'traffic_in\', \'2012-06-18 08:49:09\', \'20090289\')\' \r\n</pre>\r\nБудем чинить базу стандартными методами\r\n<pre lang="bash">\r\nmysqlrepair --all-databases -u root -p\r\n</pre>\r\nНа, что мне в'..., $args = [0 => 'После какого-то сбоя перестал работать Cacti ругаясь на ошибку мускуля\r\n<pre lang="bash">\r\nCMDPHP: Poller[0] ERROR: A DB Exec Failed!, Error:\'130\', SQL:"insert into poller_output (local_data_id, rrd_name, time, output) values (39, \'traffic_in\', \'2012-06-18 08:49:09\', \'20090289\')\' \r\n</pre>\r\nБудем чинить базу стандартными методами\r\n<pre lang="bash">\r\nmysqlrepair --all-databases -u root -p\r\n</pre>\r\nНа, что мне в'...] ).../plugin.php:205
80.12677933248WP_Syntax::beforeFilter( $content = 'После какого-то сбоя перестал работать Cacti ругаясь на ошибку мускуля\r\n<pre lang="bash">\r\nCMDPHP: Poller[0] ERROR: A DB Exec Failed!, Error:\'130\', SQL:"insert into poller_output (local_data_id, rrd_name, time, output) values (39, \'traffic_in\', \'2012-06-18 08:49:09\', \'20090289\')\' \r\n</pre>\r\nБудем чинить базу стандартными методами\r\n<pre lang="bash">\r\nmysqlrepair --all-databases -u root -p\r\n</pre>\r\nНа, что мне в'... ).../class-wp-hook.php:324
90.12677933248preg_replace_callback( $pattern = '/\\s*<pre(?:lang=["\']([\\w-]+)["\']|line=["\'](\\d*)["\']|escaped=["\'](true|false)?["\']|highlight=["\']((?:\\d+[,-])*\\d+)["\']|src=["\']([^"\']+)["\']|\\s)+>(.*)<\\/pre>\\s*/siU', $callback = [0 => 'WP_Syntax', 1 => 'substituteToken'], $subject = 'После какого-то сбоя перестал работать Cacti ругаясь на ошибку мускуля\r\n<pre lang="bash">\r\nCMDPHP: Poller[0] ERROR: A DB Exec Failed!, Error:\'130\', SQL:"insert into poller_output (local_data_id, rrd_name, time, output) values (39, \'traffic_in\', \'2012-06-18 08:49:09\', \'20090289\')\' \r\n</pre>\r\nБудем чинить базу стандартными методами\r\n<pre lang="bash">\r\nmysqlrepair --all-databases -u root -p\r\n</pre>\r\nНа, что мне в'... ).../wp-syntax.php:383

( ! ) Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/reverse.org.ua/default/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Call Stack
#TimeMemoryFunctionLocation
10.0000369088{main}( ).../index.php:0
20.0001369448require( '/var/www/reverse.org.ua/default/wp-blog-header.php ).../index.php:17
30.10547217952require_once( '/var/www/reverse.org.ua/default/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.10617237648include( '/var/www/reverse.org.ua/default/wp-content/themes/monochrome/archive.php ).../template-loader.php:106
50.12667931184the_content( $more_link_text = 'Read more', $strip_teaser = ??? ).../archive.php:44
60.12677932464apply_filters( $hook_name = 'the_content', $value = 'После какого-то сбоя перестал работать Cacti ругаясь на ошибку мускуля\r\n<pre lang="bash">\r\nCMDPHP: Poller[0] ERROR: A DB Exec Failed!, Error:\'130\', SQL:"insert into poller_output (local_data_id, rrd_name, time, output) values (39, \'traffic_in\', \'2012-06-18 08:49:09\', \'20090289\')\' \r\n</pre>\r\nБудем чинить базу стандартными методами\r\n<pre lang="bash">\r\nmysqlrepair --all-databases -u root -p\r\n</pre>\r\nНа, что мне в'... ).../post-template.php:256
70.12677932872WP_Hook->apply_filters( $value = 'После какого-то сбоя перестал работать Cacti ругаясь на ошибку мускуля\r\n<pre lang="bash">\r\nCMDPHP: Poller[0] ERROR: A DB Exec Failed!, Error:\'130\', SQL:"insert into poller_output (local_data_id, rrd_name, time, output) values (39, \'traffic_in\', \'2012-06-18 08:49:09\', \'20090289\')\' \r\n</pre>\r\nБудем чинить базу стандартными методами\r\n<pre lang="bash">\r\nmysqlrepair --all-databases -u root -p\r\n</pre>\r\nНа, что мне в'..., $args = [0 => 'После какого-то сбоя перестал работать Cacti ругаясь на ошибку мускуля\r\n<pre lang="bash">\r\nCMDPHP: Poller[0] ERROR: A DB Exec Failed!, Error:\'130\', SQL:"insert into poller_output (local_data_id, rrd_name, time, output) values (39, \'traffic_in\', \'2012-06-18 08:49:09\', \'20090289\')\' \r\n</pre>\r\nБудем чинить базу стандартными методами\r\n<pre lang="bash">\r\nmysqlrepair --all-databases -u root -p\r\n</pre>\r\nНа, что мне в'...] ).../plugin.php:205
80.12677933248WP_Syntax::beforeFilter( $content = 'После какого-то сбоя перестал работать Cacti ругаясь на ошибку мускуля\r\n<pre lang="bash">\r\nCMDPHP: Poller[0] ERROR: A DB Exec Failed!, Error:\'130\', SQL:"insert into poller_output (local_data_id, rrd_name, time, output) values (39, \'traffic_in\', \'2012-06-18 08:49:09\', \'20090289\')\' \r\n</pre>\r\nБудем чинить базу стандартными методами\r\n<pre lang="bash">\r\nmysqlrepair --all-databases -u root -p\r\n</pre>\r\nНа, что мне в'... ).../class-wp-hook.php:324
90.12677933248preg_replace_callback( $pattern = '/\\s*<pre(?:lang=["\']([\\w-]+)["\']|line=["\'](\\d*)["\']|escaped=["\'](true|false)?["\']|highlight=["\']((?:\\d+[,-])*\\d+)["\']|src=["\']([^"\']+)["\']|\\s)+>(.*)<\\/pre>\\s*/siU', $callback = [0 => 'WP_Syntax', 1 => 'substituteToken'], $subject = 'После какого-то сбоя перестал работать Cacti ругаясь на ошибку мускуля\r\n<pre lang="bash">\r\nCMDPHP: Poller[0] ERROR: A DB Exec Failed!, Error:\'130\', SQL:"insert into poller_output (local_data_id, rrd_name, time, output) values (39, \'traffic_in\', \'2012-06-18 08:49:09\', \'20090289\')\' \r\n</pre>\r\nБудем чинить базу стандартными методами\r\n<pre lang="bash">\r\nmysqlrepair --all-databases -u root -p\r\n</pre>\r\nНа, что мне в'... ).../wp-syntax.php:383

( ! ) Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/reverse.org.ua/default/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
Call Stack
#TimeMemoryFunctionLocation
10.0000369088{main}( ).../index.php:0
20.0001369448require( '/var/www/reverse.org.ua/default/wp-blog-header.php ).../index.php:17
30.10547217952require_once( '/var/www/reverse.org.ua/default/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.10617237648include( '/var/www/reverse.org.ua/default/wp-content/themes/monochrome/archive.php ).../template-loader.php:106
50.12667931184the_content( $more_link_text = 'Read more', $strip_teaser = ??? ).../archive.php:44
60.12677932464apply_filters( $hook_name = 'the_content', $value = 'После какого-то сбоя перестал работать Cacti ругаясь на ошибку мускуля\r\n<pre lang="bash">\r\nCMDPHP: Poller[0] ERROR: A DB Exec Failed!, Error:\'130\', SQL:"insert into poller_output (local_data_id, rrd_name, time, output) values (39, \'traffic_in\', \'2012-06-18 08:49:09\', \'20090289\')\' \r\n</pre>\r\nБудем чинить базу стандартными методами\r\n<pre lang="bash">\r\nmysqlrepair --all-databases -u root -p\r\n</pre>\r\nНа, что мне в'... ).../post-template.php:256
70.12677932872WP_Hook->apply_filters( $value = 'После какого-то сбоя перестал работать Cacti ругаясь на ошибку мускуля\r\n<pre lang="bash">\r\nCMDPHP: Poller[0] ERROR: A DB Exec Failed!, Error:\'130\', SQL:"insert into poller_output (local_data_id, rrd_name, time, output) values (39, \'traffic_in\', \'2012-06-18 08:49:09\', \'20090289\')\' \r\n</pre>\r\nБудем чинить базу стандартными методами\r\n<pre lang="bash">\r\nmysqlrepair --all-databases -u root -p\r\n</pre>\r\nНа, что мне в'..., $args = [0 => 'После какого-то сбоя перестал работать Cacti ругаясь на ошибку мускуля\r\n<pre lang="bash">\r\nCMDPHP: Poller[0] ERROR: A DB Exec Failed!, Error:\'130\', SQL:"insert into poller_output (local_data_id, rrd_name, time, output) values (39, \'traffic_in\', \'2012-06-18 08:49:09\', \'20090289\')\' \r\n</pre>\r\nБудем чинить базу стандартными методами\r\n<pre lang="bash">\r\nmysqlrepair --all-databases -u root -p\r\n</pre>\r\nНа, что мне в'...] ).../plugin.php:205
80.12677933248WP_Syntax::beforeFilter( $content = 'После какого-то сбоя перестал работать Cacti ругаясь на ошибку мускуля\r\n<pre lang="bash">\r\nCMDPHP: Poller[0] ERROR: A DB Exec Failed!, Error:\'130\', SQL:"insert into poller_output (local_data_id, rrd_name, time, output) values (39, \'traffic_in\', \'2012-06-18 08:49:09\', \'20090289\')\' \r\n</pre>\r\nБудем чинить базу стандартными методами\r\n<pre lang="bash">\r\nmysqlrepair --all-databases -u root -p\r\n</pre>\r\nНа, что мне в'... ).../class-wp-hook.php:324
90.12677933248preg_replace_callback( $pattern = '/\\s*<pre(?:lang=["\']([\\w-]+)["\']|line=["\'](\\d*)["\']|escaped=["\'](true|false)?["\']|highlight=["\']((?:\\d+[,-])*\\d+)["\']|src=["\']([^"\']+)["\']|\\s)+>(.*)<\\/pre>\\s*/siU', $callback = [0 => 'WP_Syntax', 1 => 'substituteToken'], $subject = 'После какого-то сбоя перестал работать Cacti ругаясь на ошибку мускуля\r\n<pre lang="bash">\r\nCMDPHP: Poller[0] ERROR: A DB Exec Failed!, Error:\'130\', SQL:"insert into poller_output (local_data_id, rrd_name, time, output) values (39, \'traffic_in\', \'2012-06-18 08:49:09\', \'20090289\')\' \r\n</pre>\r\nБудем чинить базу стандартными методами\r\n<pre lang="bash">\r\nmysqlrepair --all-databases -u root -p\r\n</pre>\r\nНа, что мне в'... ).../wp-syntax.php:383

После какого-то сбоя перестал работать Cacti ругаясь на ошибку мускуля

CMDPHP: Poller[0] ERROR: A DB Exec Failed!, Error:'130', SQL:"insert into poller_output (local_data_id, rrd_name, time, output) values (39, 'traffic_in', '2012-06-18 08:49:09', '20090289')'

Будем чинить базу стандартными методами

mysqlrepair --all-databases -u root -p

На, что мне вывалило

......
cacti.poller_item                                  OK
cacti.poller_output
Error    : Can't find file: 'poller_output' (errno: 2)
status   : Operation failed
cacti.poller_reindex                               OK
...........

Проверил… реально не хватает двух файлов, есть только poller_output.frm, а MYI и MYD куда-то пропали
Read more

Не верю я в чудеса

Давеча прочитал статейку Битва титанов FreeSwitch vs. Asterisk — Тест производительности
Ну тест да и тест… мне то что…. я равнодушен к FS и Asterisk … каждый юзает что ему нравится и нужно.
Но вот разница в производительности в 6 и более раз – насторожило, при том, что оба основаны на одном проекте.
Решил прогнать тест у себя…
Удивился….
Read more