[MacOSX] Ускоряем terminal.app

Со временем, если у вас открыто много сеансов и вы их не закрываете, terminal.app начинает сильно притормаживать. Вот несколько советов, как можно его ускорить:

1) удалить файл ~/Library/Preferences/com.apple.Terminal.plist

2) периодически удалять asl-логи:

$ cd /private/var/log/asl && sudo rm *.asl

3) использовать «тихий вход»:

$ touch ~/.hushlogin

4) В настройках в параметре «Прокрутка вниз» установите лимит, например, в 1000 строк. Там же, рядом, отключите «Восстанавливать текст при повторном открытии окна»

[Solaris] non global zone sync time

Как не глобальная зона синхронизирует время? По дефолту — берёт время из global зоны. Но этим можно управлять через параметр global-time (задаётся в конфигурационном файле зоны)

  • true — означает синхронизировать время из global зоны
  • false — означает, что время будет установлено через ntpdate/ntpd (при этом на зону должны быть выданы привилегии sys_time, без этого нельзя будет синхронизировать время)

Путём экспериментов выяснил, что изменения данного параметра влияют только после ребута зоны: простое выполнение zoneadm -z ZONE apply по факту не применяется.

ПС. Статья является вольным переводом этой

[postgresql]pglogical — логическая репликация

pglogical — это логическая репликация, реализованная в виде дополнения к PostgreSQL (доступна начиная с 9.4). Это альтернатива физической репликации, в которой, например, есть ограничения (в pglogical такого ограничения нет) репликации только в пределах одной минорной ветки.

Официальный сайт https://2ndquadrant.com/en/resources/pglogical/

[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.

Читать далее