Категорії
FreeBSD Linux Misc, staff, other OpenBSD Solaris

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

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

Категорії
Mail systems

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

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

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

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

Категорії
Solaris

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

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

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

Категорії
FreeBSD Misc, staff, other

[FreeBSD] Заморозка пакета при обновлении

Чтобы порт не обновлялся, в /etc/make.conf добавить

.if ${.CURDIR:M*devel/tevent}
IGNORE=yes
.endif

ПС. Подсмотренно в рассылке по freebsd.

Категорії
Misc, staff, other Solaris

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

Категорії
Misc, staff, other WWW

[nginx] proxy_pass и hostname

Если хотите, что бы proxy_pass правильно передавал hostname, нужно дополнительно это указать среди проксируемых заголовков:

proxy_pass       http://upstream;
proxy_set_header Host            $host;

В противном случае nginx будет выставлять имя hostname по имени апстрима.

Категорії
Misc, staff, other

rclone – rsync для облаков

Состоялся выпуск утилиты rclone 1.35, которая представляет собой аналог rsync, предназначенный для копирования и синхронизации данных между локальной системой и различными облачными хранилищами, такими как Google Drive, Amazon Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Cloudfiles, Google Cloud Storage и Yandex Files. Код проекта написан на языке Go и распространяется под лицензией MIT.

Категорії
Misc, staff, other

netcat get http unix socket

Если нужно выполнить get-запрос к unix-сокету, подойдёт такой вариант:

(printf "GET / HTTP/1.1\r\nHost: domain.com\r\n\r\n"; sleep 1) | nc -U /var/run/nginx.sock

либо через socat:

(printf "GET / HTTP/1.1\r\nHost: domain.com\r\n\r\n"; sleep 1) | socat unix-connect:/var/run/nginx.sock stdio

ПС. sleep нужен для того, что бы не закрывать соединение до получения ответа из сокета. В противном случае вы ничего не увидите.

Категорії
Misc, staff, other Solaris

Warning – Invalid account: ‘webservd’ not allowed to execute cronjobs

# crontab -l webservd
Warning - Invalid account: 'webservd' not allowed to execute cronjobs
crontab: can't open your crontab file.

Решение:

Категорії
Misc, staff, other

NFS multimount

Для увеличения отказоустойчивости у NFS тоже есть механизмы в плане failover переключения на другой хост. И так, рассмотрим общий случай:

srv1.domain.com, share = /data/share1
srv2.domain.com, share = /data/share2

Тогда строка отказоустойчивости для монтирования NFS (для Solaris, например, это задаётся в файле /etc/auto_direct) будет выглядеть так:

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff