Поиск по этому блогу

Показаны сообщения с ярлыком Linux. Показать все сообщения
Показаны сообщения с ярлыком Linux. Показать все сообщения

четверг, 11 февраля 2016 г.

Respawning process on CentOS/RHEL 6

In  Centos/RHEL 5 was another approach with /etc/inittab file, but in Centos/RHEL6 System V was changed by Upstart system.

Here is config example:

[tsolodovnikov@SomeServer ~]$cat /etc/init/dbmap.conf
#
## This service maintains dbmap monitor process.
#
start on startup
start on runlevel [2345] and stopped rc RUNLEVEL=[2345]
stop on runlevel [S016]


respawn
respawn limit 10 120
exec ruby -C /was/chnaged/just/in/case/ /usr/bin/rake RAILS_ENV=production database:monitor
--------------
[tsolodovnikov@SomeServer ~]$ sudo start dbmap
dbmap start/running, process 9027

Now if you gonna kill PID 9027, new process will be created.



пятница, 4 декабря 2015 г.

Extracting DB dump from archive with multiple DBs

Hello.

Today I'm going to explain how to extract mysql DB dump from a file with multiple DBs. Some time ago I used sed command to perform such tasks, but this method has some problems:

Let me show how to do this with sed:

cat/bzcat /path/to/file | sed -n '/^USE `DB_TO_RESTORE`/,/^USE /p'

to resotore TABLE_TO_RESTORE  table:
cat/bzcat /path/to/file | sed -n '/^DROP TABLE IF EXISTS `TABLE_TO_RESTORE`/,/^DROP TABLE IF EXISTS /p'

Or combine the commands above: =)

to restore DB_TO_RESTORE.TABLE_TO_RESTORE table:
cat/bzcat /path/to/file | sed -n '/^USE `DB_TO_RESTORE`/,/^USE /p' | | sed -n '/^DROP TABLE IF EXISTS `TABLE_TO_RESTORE`/,/^DROP TABLE IF EXISTS /p'

Problem with this method:
What about multiple mysql tables to restore with sed? Probably it is possible, but I'm not a sed hacker =)
What if /path/to/file is pretty big, sed will work until whole the file is processed, even if all needed data already restored...

To avoid this I created perl script that restores needed data and stops to process incoming data. Here you go: extractor.pl.

mysqldump commands will be printed to STDOUT, all information will be printed to STDERR.

Example:
cat dump.sql | extractor.pl DB table1 table2 > result.sql
db= DB, tables: table1 table2
DB # <- current="" db.="" nbsp="" p="">    table: XXX # <- current="" p="" table="">    table: XXXY
    table: ZZZZ
    table: DDD
    table: table1
    table: table2


Script stops working once it processed "DB" database.


Enjoy!






среда, 17 июня 2015 г.

single line bash script that kills all screen sessions

In continuation of previous post:
for n in `screen -ls | awk {'print $1'} | grep [0-9].\.. `; do screen -S $n -X quit; done

вторник, 16 июня 2015 г.

How to run command in screen tool and detach

I know that it could be googled, but I always forget this trick.

I'm going to run sleep 10 command.

It's pretty easy:
screen -dmS SCREEN_NAME
screen -S SCREEN_NAME -X stuff 'sleep 10'`echo -ne '\015'`

Note:
Of course someone could add comment that another way to run the command in screen is:
screen -dmS SCREEN_NAME "sleep 10"
I agree, but there is different behaviour: screen will be closed as soon as the command exited, that is why I have provided 2 commands, first one creates a screen, the second one runs sleep 10 command. You alway could attach to the screen and check out stdout/stderr.

пятница, 18 октября 2013 г.

load soft raid driver via http PXE installation HP i110 smar array



linux dd=http://somehost/hpahcisr-1.2.6-15.rhel5u9.x86_64 blacklist=ahci

среда, 18 сентября 2013 г.

sync files with tar over ssh

tar cfp  - `rsync -nv --files-from=filelist.txt /nas001/ localhost:/tmp/` --no-recursion  2>/dev/null | ssh localhost "cd /tmp/ && tar xfv -"

вторник, 10 сентября 2013 г.

How to send something via TCP using /dev/ in Linux

Small example below:

Now we starting listener on 8081 port:
nc -l 127.0.0.1 8081 &

We are going to send "1" to our listener:
echo 1 > /dev/tcp/127.0.0.1/8081
1 # We got it
[1]+  Done                    nc -l 127.0.0.1 8081


вторник, 20 августа 2013 г.

how to get model/manufacturer via ipmitool


Just a reminder :)
ipmitool -U admin -H -P password fru 

понедельник, 1 июля 2013 г.

How to re-read /etc/inittab without reboot

How to re-read /etc/inittab without reboot?

# kill -HUP 1

четверг, 11 апреля 2013 г.

Inventory tool

Just reminder for me :)

Very powerfull inventory tool:
Rack Tables.
Demo.(admin/admin)



вторник, 2 апреля 2013 г.

How to create perl/bash/python handler for snmpd

How to create perl/bash/python handler for snmpd? It's pretty simple.

Just add to snmpd config:
pass_persist [your OID] [path to script]

Next step is creating the script(handler):
Your script should print to STDOUT:
[your OID]
[type]
[value]

For example:

.1.3.6.1.4.5.9.4.1
integer
0


It works:
# snmpget localhost .1.3.6.1.4.5.9.4.1
SNMPv2-SMI::private.5.9.4.1 = INTEGER: 0


Enjoy :).

пятница, 15 февраля 2013 г.

VPN over ssh


Lets create simple VPN over ssh, using OpenSSH.


1) OpenSSH > 4.3

2) Add "PermitTunnel point-to-point" to sshd config

3) host2#ssh root@host1 -w 0:0 // Connect to server from client

4) host2#ifconfig tun0 192.168.254.1 pointopint 192.168.254.2

5) host1#ifconfig tun0 192.168.254.2 pointopint 192.168.254.1

7) Check pings from both hosts

8) Create/change/add routing on both hosts, for example:

# Add route to remote network 10.0.1.0/24

host1#ip r a 10.0.1.0/24 gw 192.168.254.2

# Add route to remote network 10.0.0.0/24

host2#ip r a 10.0.0.0/24 gw 192.168.254.1



now you can ping hosts from remote networks:

[tsolodov@host1 ~]$ ping 10.0.1.1 -c 1

PING 10.0.1.1 (10.0.1.1) 56(84) bytes of data.

64 bytes from 10.0.1.1: icmp_req=1 ttl=56 time=212 ms




[tsolodov@host2 ~]$ ping 10.0.0.1 -c 1


PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.

64 bytes from 10.0.0.1: icmp_req=1 ttl=56 time=212 ms








Looks like it works for me, Enjoy! :)

среда, 6 февраля 2013 г.

Just to remember


I always forget this simple command:
cat << EOF > rsync_files_to_nas.txt
bla bal bal
EOF


пятница, 10 августа 2012 г.

Use CDP protocol to determine connection port on Linux

for netDEV in `cat /proc/net/dev | grep :[1-9] | grep "eth" | awk -F ":" '{print $1}'`;  do echo $netDEV;  /usr/sbin/tcpdump  -nn -vvv -i $netDEV -s 1500 -c 1 'ether host 01:00:0c:cc:cc:cc and ether[20:2] == 0x2000' 2> /dev/null | grep "Device-ID\|Address \|Port-ID"; done | perl -P -e 'while () { chomp; if (m/eth[0-9]/) { $hn=`hostname -s`; chomp($hn); print $hn.";".$&.";"; } if (m/Device-ID/) { @array = split(/ /); print pop(@array).";"; } if (m/Port-ID[\d\D]+:/) {   @array = split(/ /); print pop(@array)."\n";  } }'


суббота, 28 апреля 2012 г.


Additional Boot Options for Intel® and AMD Systems

This section discusses additional boot and kernel boot options available for the Red Hat Enterprise Linux installation program.
To use any of the boot options presented here, type the command you wish to invoke at the installation boot:prompt.
Boot Time Command Arguments
askmethod
this command asks you to select the installation method you would like to use when booting from the Red Hat Enterprise Linux CD-ROM.

вторник, 17 апреля 2012 г.

Команды управления процессами

Основным средством управления процессами является команда kill, передающая процессу сигналы. Также можно использовать вышеописанные программы изменения приоритета процесса, прежде всего, команду nice, для управления приоритетом.
Не следует путать команду kill с сигналом KILL - они просто тезки; с помощью одноименной команды можно передать процессу как сигнал KILL, так и любые другие сигналы.
Будучи запущенной без ключей, она передает процессу сигнал TERM, требующий завершения процесса:
kill [-ключи] номер_процесса

вторник, 21 июня 2011 г.

add vlan on CentOS 5.x

Есть пара способов(которые я заню), как добавить интерфейс влан(5 в мое случае).
Один из них я опишу ниже.
1) # cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.5
2) vim  /etc/sysconfig/network-scripts/ifcfg-eth0.5
заменяем
DEVICE=eth0 на DEVICE=eth0.5
ДОБАВЛЯЕМ

VLAN=yes
НУ И ПРОВЕРИМ ВО ЭТО

ONBOOT=yes

service network restart
Все работает!



суббота, 19 марта 2011 г.

Репликация mysql Master-slave

Нашел неплохую статью.

пятница, 14 января 2011 г.

Настройка Bacula бэкапить или нет?

Конечно же да!))))
В этой статье опишу свой экспириэнс с таким продуктом как bacula. Начну с того, что в нашей компании этот продукт уже был внедрен, но внедрен очень странно 0_о, а именно из бэкапа нельзя восстановить данные. Даже и не знаю, как эту ситуацию обозвать можно)). Отпишу сразу, что не буду останавливаться много на моментах, которые описаны в документации.

Опишу что мы имеем:
  1. Ленточная библиотека IBM TS 3100, со scsi интерфейсом.
  2.  Сервер с осью CentOS 5 x86_64
  3. 20 касет Ultrium 3, перезаписываемые.
  4. Bacula 5.0.3, была установлена из исходников с поддержкой mysq c причем скомпилировано все с кучей параметров(не знаю почему, но не перенашу это, ведь на это нет объективных причин).(Будем это исправлять)
  5. Все демоны установлены на одном ПК, хотя есть отдельный сервер БД mysql.(Будем это исправлять) 
  6. Бэкапы бесполезны, т.к. восстановить из архива нельзя(опишу ошибки ниже)(Будем это исправлять)
Скажу сразу, что до этого момента ни с ленточной библионтекой ни с бакулой дела до этого не имел, так что если у вас есть поправки к моей статье, буду рад их увидеть.

понедельник, 6 декабря 2010 г.

Просмотр байтовых счетчиков трафика на интерфейсе во FreeBSD и Linux

По умолчанию "netstat -i" во FreeBSD показывает только число пакетов, чтобы
посмотреть размер в байтах
нужно использовать опцию "-b", упоминание которой удалось найти после трех прочтений man страницы.

   netstat -inb

Для наглядного просмотра, можно использовать опцию "-h", которая сокращает
байтовый вывод до Кб, Мб или Гб.

   netstat -inbh

Интенсивность передачи трафика удобно просматривать через:

   systat -ifstat
или
   netstat -iw1

Для просмотра интенсивности передачи трафика в Linux удобно использовать команду ifstat

В Linux байтовые счетчики интерфейсов можно просмотреть через:
   cat /proc/net/dev
Другую полезную статистику по работе сетевой подсистемы можно найти в файлах
/proc/net/ip_conntrack, /proc/net/stat/rt_cache, и  /proc/net/stat/arp_cache.


стЫрено с http://www.opennet.ru/tips/info/1957.shtml