Archive for the ‘Linux’ Category

shell compare string

Потрібно було знайти присутність/входження строки в іншій, в шелл скрипті. …


#!/bin/sh
aa="String_String_String"
bb=$(echo ${aa} | grep -i "String")

if [ ${#bb} -gt 0 ];
then
echo "Exists"
else
echo "Not exists"
fi

yum -y update missing dependency libcares.so.1

При trixbox оновлені вискочило …
yum -y update missing dependency libcares.so.1 is needed by package sipsak-0.9.6.1.el5.i386

Не біда. Робимо наступне…

wget http://download.fedora.redhat.com/pub/epel/5/i386/sipsak-0.9.6-8.el5.i386.rpm
wget http://download.fedora.redhat.com/pub/epel/5/i386/c-ares-1.6.0-2.el5.i386.rpm

rpm -Uhv sipsak-0.9.6-8.el5.i386.rpm c-ares-1.6.0-2.el5.i386.rpm

yum update

Або
# wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
# rpm -Uvh epel-release*rpm
# yum install sipsak -enablerepo=epel

CentOS vim

yum install vim-common vim-enhanced vim-minimal

Trixbox, not working export statistics to cvs…

export trixbox statistics to cvs.

Ищем в файле cdr.php
(строка 828)

foreach($this->getrowsfromdbihatelongfunctionnames($this->input->post(‘startdate’), $this->input->post(‘enddate’), $this->input->post(‘source’), $this->input->post(‘srctype’), $this->input->post(‘destination’), $this->input->post(‘desttype’), $this->input->post(‘channel’), $this->input->post(‘duration’), $this->input->post(‘durationend’), $this->input->post(‘durstarttype’), $this->input->post(‘durendtype’), 0, 0, $this->input->post(‘datasort’), $this->input->post(‘datadir’)) as $row) {

Меняем 0 на 999999

foreach($this->getrowsfromdbihatelongfunctionnames($this->input->post(‘startdate’), $this->input->post(‘enddate’), $this->input->post(‘source’), $this->input->post(‘srctype’), $this->input->post(‘destination’), $this->input->post(‘desttype’), $this->input->post(‘channel’), $this->input->post(‘duration’), $this->input->post(‘durationend’), $this->input->post(‘durstarttype’), $this->input->post(‘durendtype’), 0, 999999, $this->input->post(‘datasort’), $this->input->post(‘datadir’)) as $row) {

roudcube

Roudcube, симпатичная панелька, задался целью настроить автоответчик.
Взор пал на vacation.
Настройку описывать не буду, остановлюсь на процессе допиливания.
Минусы
Сообщения приходят нечитабельные. Не умеет добавлять поле Content-Type.
Поскольку я выбрал driver = “ftp“,
То лезем в vacation/lib/ftp.class.php
(more…)

CentOS webmin install

echo -e “[Webmin]\nname=Webmin\nbaseurl=http://download.webmin.com/download/yum\n
enabled=1” > /etc/yum.repos.d/webmin.repo
rpm –import http://www.webmin.com/jcameron-key.asc
yum install webmin

Якшо…..
]# rpm --import http://www.webmin.com/jcameron-key.asc
error: http ://www.webmin.com/jcameron-k ey.asc: import read failed(0).

1. Відкриваємо www.webmin.com/jcameron-key.asc і копіюємо.
2. nano public.gpg.key вставляємо …
3. rpm –import public.gpg.key

Відкат з RAID1

Коли полетів диск і замінити нічем, можна повернутись назад.
Для цього.

1. Правим fstab
2. Правим grub.conf

#mdadm –zero-superblock /dev/sd[a-e][1-9]

#grub-install –recheck –no-floppy –root-directory=/ /dev/sda1

Перегружаємось.

wiki Mdadm
wiki Raid

Відновлення RAID1

Буває що вилітає диск з рейду і враження що полетів.
Відєднуєм від рейду.

#mdadm /dev/md0 –remove /dev/sdb[0-9]

Відєднумо від системи
#echo “scsi remove-single-device 0 0 1 0” > /proc/scsi/scsi

Приєднуємо до системи.
#echo “scsi add-single-device 0 0 1 0” > /proc/scsi/scsi
(more…)

Резервне відновлення з копії

Freebsd dd restore
#echo -e "open host \n \n user <user>,<pass>
\n cd backup/ \n get dd.iso.gz \"|gzip -cd |dd of=/dev/ad0s1"| ftp

Alternative Freebsd dd restore
#echo "get dd2.iso.gz \"|gzip -cd | dd of=/dev/ad0s3\"" | ftp -i ftp://<user>:<pass>@193.111.8.206/backup/
(more…)

Резервне копіювання

#Класика
dd if=/dev/ad0 of=ad0
gzip ad0
echo "put ad0.gz ad0.gz"|ftp -i ftp://user:pass@ftp.host

#dd over ftp
echo -e "put \"|dd if=/dev/ar0 | gzip\" ar0.iso.gz"| ftp -i ftp://user:pass@ftp.host/

### Altenative
echo -e "open ftp.host \n \n user login pass \n put \"|dd if=/dev/md2 | gzip\"md2.iso.gz"| ftp