понедельник, 14 октября 2013 г.

Автоматическая пересборка v4loop при обновлении ядра.

С версии avreg 6.0 появился новый модуль v4loop-dkms, который пересобирает v4loop при обновлении ядра.

Установка:

$ sudo apt-get install v4loop-dkms

среда, 3 июля 2013 г.

Удаление старых записей FreePBX

После установки FreePBX постоянно заполнялся диск старыми записями, скрипты выложенные в интернете работали немного некорректно, пришлось поправить:

#!/bin/bash
# путь к хранилищу записей
RECORDINGS=/var/spool/asterisk/monitor

# Количество дней для сохранения
RECORDINGEXPIRY=14

# Количество дней хранения логов очистки
LOGEXPIRY=5

# Текущая дата
DATE=`date "+%Y-%m-%d_%H:%M:%S"`

# Удаляются записи старше чем $EXPIRY дней
find $RECORDINGS -mtime +$RECORDINGEXPIRY -exec rm -rfv {} \; > /var/spool/asterisk/del_logs/removal-$DATE.log


# Удаляются логи старше чем $LOGEXPRY дней
find /var/spool/asterisk/del_logs -mtime +$LOGEXPIRY -exec rm -f {} \;

пятница, 14 июня 2013 г.

Уменьшение размера бэкапа в виртуальных машинах.

Столкнулся с проблемой, после 2-х лет работы виртуалок с win2003 на борту бэкапы дисков 30Гб с заполнением 30% стали под 40Гб. Решилось дефрагментацией по расписанию и заполнение свободного места нулями.

файл для дефрагментации defrag.vbs:

Dim oShell
Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.Run "defrag.exe c:"
Set oShell = Nothing

заполнение нулями с помощью SDelete, качаем от сюда http://download.sysinternals.com/files/SDelete.zip
запускаем sdelete.exe c: -z

после этого бэкапы со сжатием LZO стали значительно меньше по размеру.

среда, 15 мая 2013 г.

Ошибка: TASK ERROR: VM is locked (backup)

Во время бекапа прервалась подача питания UPS не выдержал и в итоге схлопотали ошибку.
решилось просто:
 # qm unlock 101

вторник, 12 марта 2013 г.

Обновление модулей freepbx из командной строки

Собственно так:

# sudo -u asterisk /var/lib/asterisk/bin/module_admin upgradeall
# sudo -u asterisk /var/lib/asterisk/bin/module_admin reload

freepbx ошибка cdr_mysql.c my_load_module: Unable to query table description!!

cdr_mysql.c: Unable to query table description!! Logging disabled.

Эта строка говорит о том, что модулю cdr_mysql.so не получилось запуститься. Чаще всего это может говорить о том, что база данных и таблицы MySQL повреждены.

Чтобы восстановить базу данных MySQL, выполняем следующие команды:

# service asterisk stop
# service mysqld stop
# mysql -u root -p
>repair table asteriskcdrdb.cdr;
>exit

# service mysqld start
# service asterisk start
# asterisk -rvvv

все.

пятница, 9 ноября 2012 г.

отключение compiz в ubuntu 12.04

для удаленной работы по средством vnc потребовалось отключить compiz в ubuntu 12.04 из консоли:
для всех пользователей по умолчанию:
$ sudo /usr/lib/lightdm/lightdm-set-defaults -s ubuntu-2d
 
для каждого по отдельности: $HOME/.dmrc 
или в /var/lib/AccountsService/users/$USER

четверг, 24 мая 2012 г.

asterisk gui: Checking write permission for gui folder

исправляем:
$ sudo chown -R asterisk:asterisk /var/lib/asterisk/static-http/

Не запускается asterisk gui

При запуске asterisk gui выходит ошибка:


404
Not Found
The requested URL was not found on this server.
Asterisk Server

моя конфигурация:

----- http.conf ------
[general]
enabled=yes
bindaddr=0.0.0.0
bindport=8088
enablestatic=yes

----- manager.conf -----
[general]
enabled = yes
webenabled = yes
port = 5038
httptimeout = 60
bindaddr = 0.0.0.0

[admin]
secret = admin
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config

#include "manager.d/*.conf"

пытаюсь зайти на gui:
http://10.10.10.1:8088/static/config/index.html

решение:

sudo rm -Rf /usr/share/asterisk/static-http/
sudo ln -s /var/lib/asterisk/static-http/ /usr/share/asterisk/static-http

воскресенье, 15 апреля 2012 г.

Автоматическое удаление старых ядер

После очередного обновения убунты, я понял что меня вконец замучал растущий список загрузки в grub (это особенно актуально, если альтернативная ОС остается где-то внизу списка). Удалять вручную — это как-то неправильно, поэтому я решил заморочиться об автоматическом способе.

#!/bin/bash

kernels=`dpkg-query -l linux-image-* | grep ^ii | grep -v e-g | head -n -1 | gawk -F" " '{ print $2 }'`

for i in $kernels
do
echo "Removing kernel: "$i
sudo apt-get -y remove $i
done