Show txt file without comments and empty lines

January 20th, 2013

The command is grep -vE '^#|^;|^$' /etc/openvpn/client.conf

This is the output:

client
dev tun
proto udp
remote 10.11.12.13 1194
topology subnet
nobind
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client3.crt
key /etc/openvpn/client3.key
comp-lzo
verb 3

Printers control from the console

January 19th, 2013

A short list of helpful commands for printers’ control.

lpq – shows the default system printer (if set) and its printing queue;
lpstat -a – shows all printers, available in the system, their ‘working since’ time and type of connection (USB/local network, etc);

lpstat -p – shows all printers, available in the system, their ‘working since’ time and type of connection (USB/local network, etc);
lpstat -v – shows all printers, available in the system, their ‘working since’ time and type of connection (USB/local network, etc);

lpadmin -d printer_name – set the printer_name as default system printer;
lpadmin -x printer_name – deletes printer_name printer from the system;
cupsenable printer_name – turns the printer_name printer on on the OS level;
cupsdisable printer_name – turns the printer_name printer off;

cupsctl --share-printers – shares all printers in the system, making them available across the network; and run the next command =>
cupsctl 'BrowseLocalProtocols="all"' – use all protocols of network printing. If you use Linux machines only (both printing server and client), it’s better to type “ipp” instead of “all”. IPP means Internet Printing Protocol.

Shaping in Slackware

January 17th, 2013

An ‘iproute2’ package (description) must be installed. Let’s imagine that we use a default kernel in which ‘everything is included but the kitchen sink’. :)

FIRST. Create /etc/rc.d/rc.shaper with the following code:


#!/bin/bash
shaper_start() {
tc qdisc add dev eth1 root handle 1:0 htb default 254

tc class add dev eth1 parent 1:0 classid 1:1 htb rate 0.5mbit
tc class add dev eth1 parent 1:0 classid 1:2 htb rate 3.3mbit
tc class add dev eth1 parent 1:0 classid 1:254 htb rate 256kbit

tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.2 flowid 1:1
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.3 flowid 1:2
}

shaper_stop() {
tc qdisc del dev eth1 root
}
shaper_restart() {
shaper_stop
sleep 1
shaper_start
}

case "$1" in
'start')
shaper_start
;;
'stop')
shaper_stop
;;
'restart')
shaper_restart
;;
*)
echo "usage $0 start|stop|restart"

SECOND. Make it executable: chmod +x /etc/rc.d/rc.shaper

THIRD. Add to /etc/rc.d/rc.inet2 these lines:


if [ -x /etc/rc.d/rc.shaper ]; then
/etc/rc.d/rc.shaper start
fi

Now type /etc/rc.d/rc.shaper start. After that your client with 192.168.0.2 IP address will have a 0.5 mbit/s bandwidth and 192.168.0.3 one will have 3.3 mbit/s. Any other IPs will have 256 kbit/s only, as it is set in the default shaping rule.

PostgreSQL Database Backup

January 16th, 2013

For a single database mybase located on a server dbserver.local, from a user john :

pg_dump -h dbserver.local -U john mybase > backup_db_mybase.`date +%Y.%m.%d`.sql

This simple trick may do a great deal for you.

OpenBSD: security – periodic system security check

January 13th, 2013

While continuing learning OpenBSD at my spare time I’ve faced an interesting tool included in this OS.

security – periodic system security check.

The man page is available.

Switching to English

January 13th, 2013

Since January 13, 2013 I will write all posts in English or both in English and Russian. It doesn’t matter that very few people visit my blog :P

И снова про обновление WordPress

January 11th, 2013

Мануалов море, тем, кто привык всё делать в консоли, наиболее понятным будет вот этот: http://codex.wordpress.org/UNIX_Shell_Skills#Upgrading_WordPress_from_the_Shell

В нём только забыли напомнить сделать бэкап БД. И лишь уведомление “Необходимо обновить базу данных. Нажмите “Обновить” для обновления” насторожит внимательного :) А те, кто не только внимательны, но и разумны, делают бэкапы регулярно :)

Итак, если вы просто внимательны, то предварительно сохраняем резервную копию нашей базы (будет полагать, что мы используем MySQL, а имя базы нашего блога – wordpress):

mysqldump -u root -p wordpress > /some/path/to/backup/dir/wordpress_db_backup.sql

А вообще про создание/восстановление из бэкапа коротко и ясно написано здесь: http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/

Asterisk: запись продиктованного в телефон

January 11th, 2013

Добавляем в диалплан

exten => *98,1,Answer()
exten => *98,n,Wait(2)
exten => *98,n,Record(/tmp/myrecord%d:wav)
exten => *98,n,Wait(1)
exten => *98,n,Playback(${RECORDED_FILE})
exten => *98,n,Wait(1)
exten => *98,n,Hangup()

Начинаем надиктовывать после сигнала (услышите его, набрав *98), когда сказали всё, что хотели, нажимаем # , после чего через секунду нам проиграют надиктованный голос.

smbclient – консольный Samba-клиент

December 11th, 2012
  • Нужно зайти с Linux-компьютера на Windows-компьютер, в папку, доступную пользователям Windows-домена
  • имя домена taximaxim
  • имя пользователя kazantsev_ag
  • имя Win-компьютера dx69

1. Просматриваем список доступных на dx69 ресурсов:

2. Заходим в какую-либо директорию, список которых мы просмотрели только что (без указания конкретной директории smbclient не зайдёт):

3. Просматриваем содержимое директории. Работают как unix’овая команда ls, так и DOS-команда dir:

4. Скачиваем файл себе на компьютер командой get. Если имя файла содержит пробелы, то заключаем имя файла в двойные кавычки. Также при необходимости можно указать (через пробел) имя, под которым файл будет сохранён на нашем компьютере:

 

Постоянные IP-адреса для OpenVPN-клиентов

November 16th, 2012

Мне известно два способа закрепить постоянный статический IP-адрес за конкретным OpenVPN-клиентом. Здесь я опишу тот, которым воспользовался сам, и который мне показался более простым. Однако в man’е к OpenVPN 2.х написано, что эта опция не гарантирует выдачу одного и того же адреса при кажом подключении (читайте man, параметр –ifconfig-pool-persist).
За этот функционал отвечает опция ifconfig-pool-persist.
В конфиге сервера указываем:
ifconfig-pool-persist /etc/openvpn/ipp.txt 0

В файл /etc/openvpn/ipp.txt пишем :
client1,10.108.4.9
client2,10.108.4.8

У меня не работало, когда первой строкой был комментарий (#). Вомзожно комментарии, начинающиеся с ; допустимы, не пробовал. «client1» и «client2» это названия сертификатов для клиента-1 и клиента-2 (расширение .crt не указывается).