Архив

Публикации с меткой ‘bash’

Iptables. советы и примеры

4 Октябрь 2011 Нет комментариев

Рассмотрим несколько полезных советов по iptable — блокировка IP-адресов, которые имеет 20 и более одновременных запросов и бан пула адресов конкретной страны.
1. Блокировка IP-адресов, которые имеет 20 и более одновременных запросов (drop ip addresses)
Несколько вариантов определения таких ip-адресов:
$ netstat -an| grep :80 | grep -v 127.0.0.1 |grep -v 0.0.0.0 |awk '{ print $5 }' | sort|awk -F: '{print $1}' | uniq -c | awk '$1 > 20 {print $2}'
$ netstat -apn | grep TIME_WAIT |awk '{print $5}' |awk -F: '{print $1}' | sort | grep -v 127.0.0.1 | grep -v 0.0.0.0 | awk '{ if ($1 > 20) print $1 }'
пишем такой bash скрипт:

#!/bin/bash
ipban=’netstat -an| grep :80 | grep -v 127.0.0.1 |grep -v 0.0.0.0 |awk ‘{ print $5 }’ | sort|awk -F: ‘{print $1}’ | uniq -c | awk ‘$1 > 20 {print $2}’
for ip in $ipban
do
iptables -A INPUT -s $ip -j DROP
done

Файлы зон для стран-регионов с IP-диапазонами берем: тут
Читать далее…

Настраиваем bash под себя

30 Август 2011 Нет комментариев

Открываем:
$ nano ~/.bashrc
Хороший способ для просмотра списка ранее введенных команд в bash — имеется команда history.
По умолчанию она выводит список команд хранящийся в истории.
По умолчанию его размер — 500 команд, но иногда используешь редкие команды или выражения и что бы потом мучительно не вспоминать, можно полистать историю.
HISTSIZE — определяет число строк, хранящихся в списке истории (в памяти интерпретатора).
HISTFILESIZE — максимальное количество команд хранящихся в файле истории.
Если хотим хранить историю в другом файле, то нужно в .bashrc, задать команду HISTFILE=~/.my_history.

shopt -s histappend
PROMPT_COMMAND=’history -a; history -n’

Читать далее…

Резервное копирование (backup) баз MySQL

26 Октябрь 2010 Нет комментариев

Резервное копирование баз MySQL mysql backup ubuntu

Попался мне на просторах интернета один из скриптов для создания бэкапов баз данных, в чем его плюс — создает отдельный архив под каждую базу данных, в отличии от стандартного mysqldump с ключем —all-databases который пишет все базы в один файл для меня получается не совсем правильный бэкап, т.е мне это ни подходит.По мне лучше каждая база -отдельный файл.
В любом случаи желательно сделать пользователя от которого будем делать бекапы, из прав дадим ему права на просмотр баз,SELECT и Lock Tables, я приведу пример как создать из командной строки:
$ mysql -pПАРОЛЬ
-p, —password=[password] – Пароль пользователя, для соединения с сервером MySQL. Не должно быть пробела между -p и паролем.
-u, —user=[user] — Имя пользователя для соединения с сервером MySQL. Необязательно, по умолчанию используется такое же, как ваш логин.Используется если логин отличается от имени пользователя для соединения с сервером MySQL.

$ mysql> CREATE USER ‘back’@'localhost’ IDENTIFIED BY ’123456′;
Query OK, 0 rows affected (0.02 sec)
$ mysql> GRANT SELECT , LOCK TABLES ON * . * TO ‘back’@'localhost’ IDENTIFIED BY ’123456′;
Query OK, 0 rows affected (0.00 sec)

для примера пользователь back и его пароль 123456 (mysql backup ubuntu)
Читать далее…

Работа в Linux с историей команд (history)

23 Январь 2009 Нет комментариев

Как говориться «лень — двигатель прогресса» поэтому я покажу как можно еще работать с командной строкой bash, стандартно с помощью клавиш перемещения курсора можно перемещаться по списку ранее введенных команд. Если мне была нужна определенная команда из ранее введенных — „стрелка вверх“ и до тех пор пока нужная команда не появиться в терминале далее корректировка по надобности и выполнения ее.
Оказываеться есть еще один хороший способ — для просмотра списка ранее введенных команд в bash — имеется команда history. По умолчанию она выводит список команд хранящийся в истории.
$ history
1 sudo route del -net
2 cat /etc/resolv.conf
3 htop
......
50 nslookup
51 ping mail.ru
52 ifconfig
......
200 sudo aptitude full-upgrade
......
300 mc

Читать далее…