вторник, 27 декабря 2011 г.

GRE Tunnel on Mikrotik and OpenWRT

У нас есть сторона Site1(Mikrotik) с локальной подсетью 10.1.101.0/24 и другая сторона Site2(OpenWRT) с подсетью 10.1.202.0/24. Нам нужно сделать доступ из одной локальной сети в сети в другую локальную сеть.





Site1 RouterBOARD
[user1@MikroTik] > 
/interface gre add name=myGre remote-address=192.168.90.1 local-address=192.168.80.1
[user1@MikroTik] > 
/ip address add address= 172.16.1.1/30 interface=myGre
[user1@MikroTik] > 
/ip route add dst-address=10.1.202.0/24 gateway=172.16.1.2


Site2 OpenWRT




root@OpenWrt:~# chmod -x /etc/init.d/firewall   // отключить файерволл
root@OpenWrt:~# df -h
root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install ip // установить пакет ip
root@OpenWrt:~# opkg install kmod-gre // установить пакет  kmod-gre
root@OpenWrt:~# insmod ip_gre
root@OpenWrt:~# lsmod
root@OpenWrt:~# vi /etc/init.d/tunnel // создать файл
#!/bin/sh /etc/rc.common
START=90
insmod ip_gre
ip tunnel add  myGre  mode gre local 192.168.90.1 remote 192.168.80.1 ttl 255
post-down ip tunnel del myGre  
ip link set   myGre  up
ip a a 172.168.1.2/30 dev myGre  
iptables -I FORWARD -i   myGre  -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1024
iptables -I FORWARD -o   myGre  -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1024
ip r a 10.1.101.0/24 via  172.168.1.1
root@OpenWrt:~# chmod +x /etc/init.d/tunnel
root@OpenWrt:~# /etc/init.d/tunnel enable
root@OpenWrt:~# reboot

среда, 7 сентября 2011 г.

Vpn client OpenWRT (TODO)

Редактировать
 /etc/ppp/options.pptp
#
    lock

    #
    # We don't need the tunnel server to authenticate itself
    #
    noauth

    #
    # Turn off transmission protocols we know won't be used
    #
    nobsdcomp
    nodeflate
   
    #
    # We want MPPE
    # (option naming specific to ppp 2.4.0 with unofficial patch)
    #
    #mppe-40
    #mppe-128
    #mppe-stateless
    debug   
    #
    # We want a sane mtu/mru
    # (ppp 2.4.0 with unofficial patch)
    #
    #mtu 1000
    #mru 100


 ___
Редактировать
 /etc/ppp/ip-up.d/route_up

#!/bin/bash
H=`ps aux | grep 'pppd pty' | grep -v grep | awk '{print $14}'`
DG=`route -n | grep UG | awk '{print $2}'`
DEV=`route -n | grep UG | awk '{print $8}'`
route add -host $H gw $DG dev $DEV
route del default $DEV
route add default dev ppp0


 _______


 /etc/ppp/ip-down.d/route_down

#!/bin/bash
H=`route -n | grep UGH | awk '{print $1}'`
DG=`route -n | grep UGH | awk '{print $2}'`
DEV=`route -n | grep UGH | awk '{print $8}'`
route del -host $H
route add default gw $DG dev $DEV




vi /etc/init.d/custom-user-startup
kill $(pgrep pppd)
sleep 20
pppd pty "pptp 195.234.200.251 --nolaunchpppd" file /etc/ppp/options.pptp user test777  password 777


root@OpenWrt:~# vi /etc/config/network

config interface loopback
        option ifname   lo
        option proto    static
        option ipaddr   127.0.0.1
        option netmask  255.0.0.0

config interface lan
        option ifname   eth0
        option type     bridge
        option proto    static
        option ipaddr   192.168.1.1
        option netmask  255.255.255.0

config interface wan
        option ifname   eth1
        option 'proto' 'dhcp'

        #option 'proto' 'static'

        #option 'defaultroute' '0'
        #option 'peerdns' '0'
        #option 'dns' '195.234.200.253'
        #option 'ipaddr'  '195.234.203.134'
        #option 'netmask' '255.255.255.248'
        #option 'gateway' '195.234.203.129'

        option 'macaddr' '00E04C77E13C'

config 'interface' 'vpn'
        option 'proto' 'pptp'
        option 'ifname' 'pptp-vpn'
        option 'username' 'test777
        option 'password' '777'
        option 'server' '195.234.200.251'
        option 'buffering' '1'

config switch eth0
        option enable_vlan      1

config switch_vlan
        option device   eth0
        option vlan     1
        option ports    "0 1 2 3 4"

среда, 31 августа 2011 г.

Прошивка TP-Link TL-WR841ND

TFTP install

Beware that this installation method needs a TTL level serial console and a working TFTP server and should not be attempted unless you have experience with this sort of thing or are eager to learn :)
This is taken more or less verbatim from https://forum.openwrt.org/viewtopic.php?id=24203, thanks to dl3daz.
- Download http://downloads.openwrt.org/backfire/10.03/ar71xx/openwrt-ar71xx-tl-wr841nd-v5-squashfs-factory.bin to your TFTP server. - Hook your routers WAN ethernet port up to your network - Hook up the serial console as explained in the section "serial console" and do the "tpl" trick to get console access - Now we need to set router and server IP addresses (here named ROUTERIP and SERVERIP, substitute these with the real IP addresses). Type in the console:
setenv ipaddr ROUTERIP
setenv serverip SERVERIP
printenv
- Double check that the output of printenv lists the IP addresses you just set. Now we can load the firmware over TFTP with "tftpboot 0x80000000 openwrt-ar71xx-tl-wr841nd-v5-squashfs-factory.bin":
ar7240> tftpboot 0x80000000 openwrt-ar71xx-tl-wr841nd-v5-squashfs-factory.bin
Using eth0 device
TFTP from server 192.168.32.253; our IP address is 192.168.32.246
Filename 'openwrt-ar71xx-tl-wr841nd-v5-squashfs-factory.bin'.
Load address: 0x80000000
Loading: checksum bad
#################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ######################################################
done
Bytes transferred = 3932160 (3c0000 hex)
- Note the "3c0000" in the last line (your number may differ). Now execute the following commands, if necessary replacing 3c0000 with the number you got from tftpboot:
ar7240> erase 0x9f020000 +0x3c0000
...
ar7240> cp.b 0x80000000 0x9f020000 0x3c0000
ar7240> bootm 0x9f020000

четверг, 18 августа 2011 г.

Postfix. Не уходят письма во внеший мир. Очистка цепочек

 Проверка цепочки

    tail -f /var/log/mail.log

    postqueue -p
    
 

 Очистить все Postfix mail queue

Очистить все цепочки для Postfix сожно команду в одну строку:
~# for i in `mailq|grep '@' |awk {'print $1'}|grep -v '@'`; do postsuper -d $i ; done
Либо же:
postsuper -d ALL
или:

postsuper -d ALL deferred tail -f /var/log/mail.log

 Не уходят письма во внеший мир.

ispCPhosting:~# tail -f /var/log/mail.log

Aug 19 03:06:05 hosting postfix/qmgr[2461]: 6D3D3160061: from=, size=2953, nrcpt=1 (queue active)
Aug 19 03:06:05 hosting postfix/smtpd[3084]: disconnect from localhost[127.0.0.1]
Aug 19 03:06:08 hosting postfix/smtp[3087]: connect to e.mx.mail.yahoo.com[67.195.168.230]:25: Connection refused
Aug 19 03:06:08 hosting postfix/smtp[3087]: connect to b.mx.mail.yahoo.com[74.6.136.65]:25: Connection refused
Aug 19 03:06:08 hosting postfix/smtp[3087]: 6D3D3160061: to=, relay=none, delay=3, delays=0.2/0.01/2.8/0, dsn=4.4.1, status=deferred (connect to k.mx.mail.yahoo.com[98.139.54.60]:25: Connection refused)

На хостинге в сети провайдера:

ispCPhosting:~# telnet k.mx.mail.yahoo.com 25Trying 98.139.54.60...
telnet: Unable to connect to remote host: Connection refused

У провайдера на шлюузе во внешний мир:

gatewayISP:~# telnet k.mx.mail.yahoo.com 25
Trying 98.139.54.60...
Connected to k.mx.mail.yahoo.com.
Escape character is '^]'.
220 mta1224.mail.ac4.yahoo.com ESMTP YSmtp service ready
Connection closed by foreign host. 

Отсюда делаем вывод что закрыт 25 порт на выход во внешний мир из внутренней сети провайдера. 

Провайдеру необходимо у себя на шюзе добавить правила:

iptables -I FORWARD -d 195.xxx.xxx.130  -o eth4.294 -p tcp --dport 25 -j ACCEPT
iptables -I FORWARD -d 195.xxx.xxx.130  -o eth4.295 -p tcp --dport 25 -j ACCEPT
iptables -I FORWARD -s 195.xxx.xxx.130  -o eth4.294 -p tcp --dport 25 -j ACCEPT
iptables -I FORWARD -s 195.xxx.xxx.130  -o eth4.295 -p tcp --dport 25 -j ACCEPT

 

Изменить email  по умолчанию для администратора панели ispCP Omega можно в файле:

/etc/ispcp/ispcp.conf

 


суббота, 2 июля 2011 г.

Жесткие диски и файловая система. Команда mount

7. Команды Linux: жесткие диски и файловая система.


7.1 Информация о файловой системе и жестком диске

# fdisk -l
# Информация о всех подключенных жестких и сменных дисках;
# [sudo] hdparm -I /dev/sda
# Полная информация о IDE/ATA жестких дисках;
# smartctl -a /dev/sda1
# Выводит SMART-информацию о разделе жесткого диска /dev/sda1 (необходима установка пакета smartmontools);
# [sudo] blkid
# Выводит UUID всех доступных накопителей информации в системе;

7.2 Производительность жесткого диска

# [sudo] hdparm -tT /dev/sda
# Показывает производительность жесткого диска;

7.3 Монтирование разделов жесткого диска

# mount | column -t
# Показывает полную информацию о примонтированных устройсвах;
# cat /proc/partitions
# Показывает только примонтированные разделы жесткого диска;
# df
# Показывает свободное место на разделах;
# [sudo] mount /dev/sda1 /mnt
# Монтирует раздел /dev/sda1 к точке монтирования /mnt;
# [sudo] mount -t auto /dev/cdrom /mnt/cdrom
# Монтирует большинство CD-ROM`ов;
# [sudo] mount /dev/hdc -t iso9660 -r /cdrom
# Монтирует IDE CD-ROM;
# [sudo] mount /dev/scd0 -t iso9660 -r /cdrom
# Монтирует SCSI CD-ROM;
# [sudo] mount -t ufs -o ufstype=ufs2,ro /dev/sda3 /mnt
# Монтирование FreeBSD разделов в Linux;
# [sudo] mount -t smbfs -o username=vasja,password=pupkin //pup/Video
# Монтирование сетевых ресурсов (SMB);
# [sudo] mount -t iso9660 -o loop /home/file.iso /home/iso
# Монтирование ISO-образов;
# [sudo] mount /dev/sdb1 -t vfat -o rw /mnt
# Монтирование раздел с файловой системой FAT 16/32 (к примеру USB-накопитель) к точки монтирования /mnt с возможностью записи;
# [sudo] umount /mnt
# Отмонтирует раздел от точки монтирования /mnt;


среда, 15 июня 2011 г.

OpenWRT. Создание инициализационных скриптов

К примеру нам нужно сделать проброс порта на роутере под  OpenWRT  для этого зоздадми скрипт с правилами iptables и создадим для этого скрипта инициалзационный скрипт в /etc/rc.d/
Редактируем наш файл с правилами custom-user в папке с демонами /etc/init.d/

hosting:~# vi /etc/init.d/custom-user
#!/bin/sh /etc/rc.common
START=95
###  DNAT
iptables -t nat -I PREROUTING -p tcp -d 195.234.202.74 --dport 27910 -j DNAT --to-destination 192.168.0.5:27910
### SNAT
iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 195.234.200.50

Теперь сделаем наш файл с правилами исполняемым:
hosting:~# chmod +x /etc/init.d/custom-user


И включем его в сценарий загрузки командой:
hosting:~# /etc/init.d/custom-user  enable
 или
hosting:~# /etc/rc.common  /etc/init.d/custom-user  enable


В итоге мы получим иницилизационный файл /etc/rc.d/S95custom-user


вторник, 24 мая 2011 г.

Рекурсивно изменить права на папку с файлами

cd /home/some_dir
Заходим в целевую директорию

chmod -R 644 *
Массово устанавливаем chmod 644 на всё

find . -type d -exec chmod 0755 {} ';'
Массово устанавливаем chmod 755 отдельно на папки. Файлы остаются с правами 644.

ИЛИ

chmod -R u=rw,go=r,a+X  каталог

воскресенье, 3 апреля 2011 г.

Восстановление LinkSys WRT54G, WRT54GS, WRT54GL

Предлагаю вашему вниманию, проверенный мною способ восстоновление замечательных  устройств фирмы Linksys, а именно моделей WRT54G, WRT54GS, WRT54GL.

Симптомы:
На передней панели постоянно мигает индикатор power, остальные светодиоды не горят. Устройство либо не отвечает по адрессу 192.168.1.1 на локальном порту, либо после определенных шаманских плясок с бубнами, все же начинает пингаеться, но как-то криво. Т.е. сразу после включения прорпадают 5-6 пакетов, потом проходит пинг пакетов в 5-6, далее опять пропадает 4-6 паккетов, потом пинг сново идет ровно и не пропадает, но при этом ни telnet ни ssh ни web-интерфейс, не отвечают, и ни в какую ни хочет заливаеться с помошью tftp-клиента прошивка на девайс.
Способ лечения: 1 и 2.

Симптомы:
При включении мигает Power потом постоянно горит. При подключении кабеля к LAN-порту загараеться порт и пингаеться 192.168.1.1. Веб-интерфейс неработает, по tftp зашить не получаеться. Вероятноая причини прошито устройство не той верией.
Способ лечения: 1.

Симптомы:
После включения мигает Power потом постоянно горит. Все Lan-индикаторы горят постоянно. По локальному порту не пингаеться. То что Power горит постоянно говорит о том что устройство загрузилось прошивкой. Просто произашел сбой в памяти устройства- его нада очистить, как правило командой erase nvram & kernel
Способ: 3.


Диагноз: криво встала фирмварина при пердыдущей прошивке. Необходимо лечить =)
Возможно вы выбрали неправельную прошивку для перовй инстоляции (DD-WRT должна быть mini прошивка; OpenWRT initial web flash).

Необходимо прошить устройство по tftp. Есть два способа:
1. Serial Console - консольный кабель COM-to-USB
2. Pin shortcut method - закоротить ножки на памяти чтобы перевести ее в recivery mode.



1. Serial Console 

Припаятся к консоле на устройстве используя кабель
Serial-to-USB (http://intervito.blogspot.com/search/label/TL-WR741ND ).
Припаяться как показанно на фото:

Pin 23.3VPin 4TX_0Pin 6RX_0Pin 8Not connectedPin 10GND
Pin 13.3VPin 3TX_1Pin 5RX_1Pin 7Not connectedPin 9GND

wrt54gl_v11_serialport___.jpg

Далее подключиться по Putty( 115200 )либо используя другую программу.
( инструкция: http://intervito.blogspot.com/search/label/TL-WR741ND )
Вы увидите что-то наподобие:

Boot version: v2.3

The boot is CFE


mac_init(): Find mac [00:xx:xx:xx:xx:xx] in location 0

Nothing...

Reading :: Failed.: Error
Reading :: Failed.: Error
Reading :: Failed.: Error
нажмите Ctrl+C, и увидите:
CFE> 
тут ввидите три команды:
CFE> nvram set boot_wait=on
CFE> nvram set boot_time=10
CFE> nvram commit && reboot

Таким образом вы создали окно в 10 сек при загрузки для того чтобы подключиться к роутору по tftp протоколу и залить на него прошивку ( http://downloads.openwrt.org/backfire/10.03.1-rc6/brcm-2.4/ )
Итак приступим к прошивке:
1. Поставте ping 192.168.1.1
2. Включите устройство
2. Когда увидите ответы на ping 192.168.1.1 нажмите сосответствующую команду:


В windows:
с:\tftp -i 192.168.1.1 PUT code.bin

В linux:
 tftp 192.168.1.1
 > binary
 > rexmt 1
 > trace 
 > put code.b
> quit     // для выхода


Дождитесь пинга от 192.168.1.1 и прейдите на web-страницу.

Ссылки:
https://forum.openwrt.org/viewtopic.php?pid=63972
http://wiki.openwrt.org/toh/linksys/wrt54g#serial.port



2. Pin shortcut method 

Инструкция:
1. Разобрать устройство.

3. Установить на сетевой карте компьютера ip-адресс 192.168.1.2 и маску 255.255.255.0, и поставить пинг на устройство 192.168.1.1.
в windows с ключем "-t"
ping 192.168.1.1 -t
2. Найти на плате флеш-память ("Intel flash"), и закоротить 15 и 16 ножки, например отверткой.
4. Далее подать питание на устройсто, тем самым Вы приведете его в состояние "recovery mode".
Подождать 10 секунд и разамкнуть ножки.(убрать отвертку)

5. Дождаться пока пойдет пинг на 192.168.1.1.
6. Теперь можно с помошью tftp-клиента залить соостетствующую прошивку на устройство размером не более 3мб (dd-wrt.v24_mini_wrt54g.bin переименовать в code.bin). Подождать около 3 минут не выулючая питания! ссылка на tftp-клиент

В windows:
с:\tftp -i 192.168.1.1 PUT code.bin


В linux:

 tftp 192.168.1.1
 > binary
 > rexmt 1
 > trace 
 > put code.bin


7. Дождаться когда вновь пойдет пинг на 192.168.1.1, далее зайти через web-интерфейс на устройства, и залить полную версию прошивки.

ссылки по которым я собирал мануал:
http://www.dd-wrt.com/wiki/index.php/Recover_from_a_Bad_Flash#Linksys_Firmware
http://voidmain.is-a-geek.net/redhat/wrt54g_revival.html#0

для прошивки через Serial port:
http://www.andrewhazelden.com/blog/2010/01/how-to-use-the-serial-ports-on-a-linksys-wrt54gs-with-dd-wrt-v24/
http://www.rwhitby.net/projects/wrt54gs
http://www.dd-wrt.com/wiki/index.php/WRT54GL_MAX232_Serial

также полезные ссылки:
http://books.google.com.ua/books?id=GBtJdvMeAJQC&printsec=frontcover&hl=ru#v=onepage&q&f=false


3. Serial Console 

Припаятся к консоле на устройстве используя кабель
Serial-to-USB (http://intervito.blogspot.com/search/label/TL-WR741ND ).
Припаяться как показанно на фото:

Pin 23.3VPin 4TX_0Pin 6RX_0Pin 8Not connectedPin 10GND
Pin 13.3VPin 3TX_1Pin 5RX_1Pin 7Not connectedPin 9GND

wrt54gl_v11_serialport___.jpg

Далее подключиться по Putty( 115200 )либо используя другую программу.
( инструкция: http://intervito.blogspot.com/search/label/TL-WR741ND )
Вы увидите что-то наподобие:

Boot version: v2.3

The boot is CFE


mac_init(): Find mac [00:xx:xx:xx:xx:xx] in location 0

Nothing...


нажмите Ctrl+C, и увидите:
CFE> 
тут ввидите две команды:
CFE> erase nvram & kernel
CFE> reboot

Дождитесь пинга от 192.168.1.1 и прейдите на web-страницу.

Ссылки:
http://www.dd-wrt.com/phpBB2/viewtopic.php?p=482044
https://forum.openwrt.org/viewtopic.php?pid=63972
http://wiki.openwrt.org/toh/linksys/wrt54g#serial.port



среда, 16 марта 2011 г.

iptables - Великий и Могучий !


ССЫЛКИ
Описание iptables на русском, кратко http://easylinux.ru/node/190
Инструкции по iptables для DD-WRT http://www.dd-wrt.com/wiki/index.php/Iptables_command

СОДЕРЖАНИЕ

0. Общие команды
1Удаление всех записей из таблицы nat:
2. Включение SNAT:
3. Проброс портов DNAT.
4. Блокирование потра для сети
5Блокирование диапазона портов для определенного ip-адреса
6. Установка определенного кол-ва подключений в минуту для ssh. Защита от Брутфорса по 22 порту ssh.

7. Блокирование определенного mac-адреса


0. Общие команды
Просмотр всех правил:
iptables -nvL 

1. Удаление всех записей из таблицы nat:
iptables -F -t nat



2. Включение SNAT:
iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 195.234.200.50

iptables -D POSTROUTING №  // удаление правила 




3. Проброс портов DNAT.

      а) проброс 80-ого  порта, для того что-бы заходить через веб-браузер(порт 80) на устройство, которое находиться за nat'ом:
iptables -t nat -I PREROUTING -p tcp -d 195.234.200.50 --dport 1001 -j DNAT --to-destination 192.168.1.2:80
После этого в браузере набираем реальный ip-адрес и указваем порт (к примеру 1001):
http://195.234.200.50:4001
Таким образом мы зайдем на устройство 192.168.1.2 на порт 80.
 

      б) проброс 22-ого потра для того что бы заходить на устройство через ssh(порт 22) протокол:
iptables -t nat -I PREROUTING -p tcp -d 195.234.203.82 --dport 1002 -j DNAT --to-destination 192.168.1.2:22
Для того что бы зайти указываем реальный ip-адрес и порт:
ssh -v -p 1002 root@195.234.200.50
Этой командой мы подключимся в устройству 192.168.1.2 к порту 22(ssh)




 4. Блокирование потра для сети (192.168.1.0/24)
iptables -I FORWARD -s 192.168.1.0/24 -p tcp --sport 64483   -j DROP
iptables -I FORWARD -s 192.168.1.0/24 -p tcp --dport 64483   -j DROP
iptables -I FORWARD -s 192.168.1.0/24 -p udp --sport 64483   -j DROP
iptables -I FORWARD -d 192.168.1.0/24 -p tcp --sport 64483   -j DROP

 5Блокирование диапазона портов для определенного ip-адреса в FORWARD (для торрентов)
iptables -I FORWARD -s 195.234.202.98 -p tcp  --dport 1000:65535 -j DROP
#iptables -I FORWARD -s 195.234.202.98 -p tcp  --sport 1000:65535 -j DROP
#iptables -I FORWARD -d 195.234.202.98 -p tcp --dport 1000:65535 -j DROP
iptables -I FORWARD -d 195.234.202.98 -p tcp --sport 1000:65535 -j DROP
iptables -I FORWARD -s 195.234.202.98 -p udp --dport 1000:65535 -j DROP
#iptables -I FORWARD -s 195.234.202.98 -p udp --sport 1000:65535 -j DROP
#iptables -I FORWARD -d 195.234.202.98 -p udp --dport 1000:65535 -j DROP
iptables -I FORWARD -d 195.234.202.98 -p udp --sport 1000:65535 -j DROP
6. Установка определенного кол-ва подключений в минуту для ssh.  Защита от Брутфорса по 22 порту ssh.

iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP

 
7. Блокирование определенного mac-адреса

В Linux:
iptables -I FORWARD -m mac --mac-source  00:17:31:d4:16:32 -j  REJECT --reject-with tcp-reset

На устройставх под DD-WRT:
http://www.dd-wrt.com/wiki/index.php/Iptables#Restrict_access_by_MAC_address
Сначало проверяем полгружен ли модуль для работы iptables с mac-адресами:
lsmod | grep ipt_mac
Ели нет, то подгружаем:
insmod ipt_mac
Добавляем команду
iptables -I FORWARD -m mac --mac-source  00:17:31:d4:16:32 -j DROP
либо
iptables -I FORWARD -m mac --mac-source  00:17:31:d4:16:32 -j  REJECT --reject-with tcp-reset

пятница, 25 февраля 2011 г.

Web-камера A4TECH PK-336MB под Linux


vitaliy@woolf:~$ lsusb
Bus 002 Device 011: ID 0ac8:305b Z-Star Microelectronics Corp. ZC0305 Webcam

Для того что бы скайп подхватил камеру запускаем через переменную:
root@woolf:/home/vitaliy# LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so skype

суббота, 19 февраля 2011 г.

MySQL faq по командам (заметки)


Показать список баз:
SHOW DATABASES; 


Показать список таблиц в базе:

SHOW TABLES;

Показать сруктуру таблицы:
DESCRIBE table_name;



Имя текущей базы:

SELECT DATABASE();

Создать базу:
БЕКАП
http://yapro.ru/web-master/mysql/mysqldump.html
http://server-help.ru/?p=25%20%D0%B8%20http://www.codenet.ru/db/mysql/MySql-Backup.php
Для бекапа базы лучше использовать утилиту mysqldump.
При создании файла дампа, утилита вставляет в него команду
DROP TABLE IF EXISTS `table_name`;
Эта команда удаляет таблицы в рабочем экземпляре базы перед копированием в него из резаервной копии. Также полезным становиться функция 


Бекфп базы:
mysqldump -uroot -p --default-character-set=utf8 l2jdb > l2jdb_`date "+%Y-%m-%d-%R"`.sql

%R-часы

Востоновить из бекапа: 
mysql -uroot -p test_l2db < /home/vitaliy/l2jdb_2011-02-18.sql 


CRON

crontab -l

crontab -e

0 3 * * * /root/script_backup/db_script
0 4 * * * /root/script_backup/server_script

root@woolf:~/script_backup# cat server_script
# This script backups l2jserver folder to zip file
#!/bin/bash
zip -r /home/my_folder/backup/l2j_sever_`date "+%Y-%m-%d-%R"` /opt/l2j

root@woolf:~/script_backup# cat db_script
#!/bin/bash
mysqldump -uroot -pqawsed --default-character-set=utf8 l2jdb > /home/vitaliy/backup/l2jdb_`date "+%Y-%m-%d-%R"`.sql