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.
Hello, %Username% this blog contains some useful topics about: linux, cisco, freebsd, perl, ISP
Поиск по этому блогу
Показаны сообщения с ярлыком Linux. Показать все сообщения
Показаны сообщения с ярлыком Linux. Показать все сообщения
четверг, 11 февраля 2016 г.
пятница, 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!
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
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.
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
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 г.
понедельник, 1 июля 2013 г.
How to re-read /etc/inittab without reboot
How to re-read /etc/inittab without reboot?
# kill -HUP 1
# kill -HUP 1
четверг, 11 апреля 2013 г.
вторник, 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
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
Один из них я опишу ниже.
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 г.
пятница, 14 января 2011 г.
Настройка Bacula бэкапить или нет?
Конечно же да!))))
В этой статье опишу свой экспириэнс с таким продуктом как bacula. Начну с того, что в нашей компании этот продукт уже был внедрен, но внедрен очень странно 0_о, а именно из бэкапа нельзя восстановить данные. Даже и не знаю, как эту ситуацию обозвать можно)). Отпишу сразу, что не буду останавливаться много на моментах, которые описаны в документации.
Опишу что мы имеем:
В этой статье опишу свой экспириэнс с таким продуктом как bacula. Начну с того, что в нашей компании этот продукт уже был внедрен, но внедрен очень странно 0_о, а именно из бэкапа нельзя восстановить данные. Даже и не знаю, как эту ситуацию обозвать можно)). Отпишу сразу, что не буду останавливаться много на моментах, которые описаны в документации.
Опишу что мы имеем:
- Ленточная библиотека IBM TS 3100, со scsi интерфейсом.
- Сервер с осью CentOS 5 x86_64
- 20 касет Ultrium 3, перезаписываемые.
- Bacula 5.0.3, была установлена из исходников с поддержкой mysq c причем скомпилировано все с кучей параметров(не знаю почему, но не перенашу это, ведь на это нет объективных причин).(Будем это исправлять)
- Все демоны установлены на одном ПК, хотя есть отдельный сервер БД mysql.(Будем это исправлять)
- Бэкапы бесполезны, т.к. восстановить из архива нельзя(опишу ошибки ниже)(Будем это исправлять)
понедельник, 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
посмотреть размер в байтах
нужно использовать опцию "-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
Подписаться на:
Сообщения (Atom)