[mysql] Got fatal error 1236 from master when reading data from binary log

Got fatal error 1236 from master when reading data from binary log: 'Cannot replicate anonymous transaction when AUTO_POSITION = 1, at file /database/mysql/mysql-bin.030053, position 154.; the first event '' at 4, the last event read from 'mysql-bin.030053' at 219, the last byte read from '/database/mysql/mysql-bin.030053' at 219.'

Такую ошибку получили при попытке переключиться по инструкции online migration to GTID replication. Решение не очевидное и нашлось методом гугления, проб.

Читать далее

[Postfix] Dovecot delivery

Если хотите использовать dovecot-delivery вместо стандартного postfix’ового, то нужно сделать следующее:

1) добавить фильтр в master.cf:

dovecot   unix  –       n       n       –       –       pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -d ${recipient}

Читать далее

[mysql] Illegal GRANT/REVOKE command; please consult the manual to see which privileges can be used

ERROR 1144 (42000): Illegal GRANT/REVOKE command; please consult the manual to see which privileges can be used

Такая ошибка появляется, когда вы пытаетесь дать права на объект, на который права не могут распространяться. К примеру, нельзя дать права execute, create temporary table на конкретную таблицу. То есть, сначала сверяемся с мануалом , и, если всё правильно, пробуем по одному удалять «гранты» в надежде найти проблемный.

Гарантированный запуск единичной копии скрипта

Принцип ее работы прост: для каждого процесса она создает файл и вешает на него lock. Как только процесс завершается, лок пропадает. Лок также пропадает в случае внезапной смерти процесса, и нет необходимости проверять pid на существование или делать другие телодвижения. Если процесс запускается повторно, а лок-файл еще не освободился, работа скрипта прерывается и выдается сообщение в STDERR. Читать далее

[postfix] Проверка на спам определённых получателей

Появилась задача: делать проверку на спам только для определённых ящиков.

Общая идея такова: после попадания письма в postfix, оно сверяется с фильтром в файле /etc/postfix/transport_spam, если попадает — передаётся на обработку фильтра spamassassin, который описан в master.cf. Он же в свою очередь состоит из проверки на спам и после проверки отдаёт письмо не в postfix, а в procmail, который на основе темы отдаёт её dovecot devivery, который складывает либо в INBOX, либо в JUNK папку соответственно.

Вы можете использовать dovecot-sieve и тогда вам не нужен procmail.

Читать далее

[Solaris] Снепшоты сервисов

Правда удобно, когда правишь сервис через svccfg и что-то пошло не так и нужно быстро откатиться к предыдущему состоянию? Начиная с 11.2 такая возможность есть. И так, есть 4 состояния (покажу на примере сервиса spamd):

# svccfg -s svc:/application/network/spamd:default listsnap
running
initial
previous
start

Читать далее

Solaris: установка пакета, когда идёт ругань на swap

Пробуем ставить:

# pkg update -v network/zabbix_agent
pkg: update failed (linked image exception(s)):
A 'zone1' operation failed for child 'zone:zone1' with an unexpected
exception:
[Errno 28] No space left on device

смотрим dmesg:

tmpfs: [ID 518458 kern.warning] WARNING: /tmp: File system full, swap space limit exceeded

Читать далее