Notepad++

Я обожаю эффективно работать.

Если что-то делаешь долго, и это очень не нравиться, нужно делать так, чтобы это было легко и быстро.

У меня всегда открыт notepad++ с 10 вкладками для всего.  Если нужно что-то записать, сразу туда.

Одна из фич notepad++ это multi cursor, который есть в саблайме, пхпшторм, да наверное везде он.

Включается он так:

multiEdit

Бекап mysql routines

Недавно столкнулся с такой проблемой. Развернул бекап mysql базы в среде разработке, и не нашел хранимые процедуры. Бекап я делаю через штатную програмку mysqldump. Она хороша тем, что это официальный инструмент для бекапа, он входит в пакет mysql.

Итак, чтобы mysqldump сохранял процедуры, нужно добавить ключ

--routines

Полностью команда:

#!/bin/sh
data=`/bin/date +%d.%m.%Y_%H-%M-%S`
/usr/bin/mysqldump --user=root --password=pass --routines name_db > /root/sql/sql-dump_${data}.sql

mysqldump есть еще много нюансов работы. Один из важным моментов — она блокирует БД, на время работы, так что, если ваше БД больше гига, лучше это делать на слейв сервере.

А так можно всю БД забекапить

/usr/local/bin/mysqldump --all-databases --default-character-set=utf8 --user=root --password=passroot > /home/webmaster/sql-dump.sql

Путь до mysqldump  может быть другой.

Узнать его можно командой

which

which mysqldump

Атака SlowHTTP

Есть такой вид атаки SlowHTTP. Это когда берется большой файл (1мб хватит) и начинает «тянуться» клиентом оооочень долго. При этом сокет сервера занят. 256  сокетов может открыть apache (если нет nginx).  Чем интересна данная атака, что для нее не нужно много ресурсов. Мне удавалось программой slowhttptest повесить свои, вполне серьезные продакшен сервера.

Решается эта проблема ограничением на соединение от одного IP, в примере 50 соединений на 80 порт с одного IP.

-A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 50 -j REJECT --reject-with tcp-reset

Sendmail-заглушка для Linux

Оригинал статьи тут — http://habrahabr.ru/post/49665/

Заглушка для почты на сервере разработки:

#!/bin/sh 
prefix="/var/mail/sendmail/new"
numPath="/var/mail/sendmail"

if [ ! -f $numPath/num ]; then 
echo "0" > $numPath/num 
fi 
num=`cat $numPath/num` 
num=$(($num + 1)) 
echo $num > $numPath/num 

name="$prefix/letter_$num.txt"
while read line 
do 
echo $line >> $name
done 
chmod 777 $name
/bin/true

Скрипт сохраняем в папку /usr/bin под любым угодным вам именем и делаем исполняемым (sudo chmod +x). Я использовал fake_sendmail.sh.

Теперь все исходящие письма будут складываться в /var/mail/sendmail. Так же необходимо выставить для папки права на запись. (chmod 777 -R /var/mail/sendmail).

Примечание:
Для сбора писем почтовиком (о чем ниже), нужно в этой папке создать следующую структуру папок:
/var/mail/sendmail/
— cur
— new
— tmp
И дать права на запись.

Настройка PHP.
У меня стоит Кубунта, так что все пути относительно нее. Итак, находим в папке /etc/php5/apache2 файл php.ini и меняем в нем путь к sendmail на:

sendmail_path = /usr/bin/fake_sendmail.sh.