Принцип ее работы прост: для каждого процесса она создает файл и вешает на него lock. Как только процесс завершается, лок пропадает. Лок также пропадает в случае внезапной смерти процесса, и нет необходимости проверять pid на существование или делать другие телодвижения. Если процесс запускается повторно, а лок-файл еще не освободился, работа скрипта прерывается и выдается сообщение в STDERR.
Категорія: Misc, staff, other
FreeBSD
Чтобы порт не обновлялся, в /etc/make.conf добавить
.if ${.CURDIR:M*devel/tevent}
IGNORE=yes
.endif
ПС. Подсмотрено в рассылке по freebsd.
А для пакетов так
Заморозить:
# pkg lock <pkg-name>
Разморозить:
# pkg unlock <pkg-name>
Solaris
Заморозить:
# pkg freeze <package-name>
Разморозить:
# pkg unfreeze <package-name>
Linux (Debian)
Заморозить:
# apt-mark hold <package-name>
Разморозить:
# apt-mark unhold <package-name>
Пробуем ставить:
# 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
Если хотите, что бы proxy_pass правильно передавал hostname, нужно дополнительно это указать среди проксируемых заголовков:
proxy_pass http://upstream; proxy_set_header Host $host;
В противном случае nginx будет выставлять имя hostname по имени апстрима.
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.
Если нужно выполнить 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 нужен для того, что бы не закрывать соединение до получения ответа из сокета. В противном случае вы ничего не увидите.
# crontab -l webservd
Warning - Invalid account: 'webservd' not allowed to execute cronjobs
crontab: can't open your crontab file.
Решение:
NFS multimount
Для увеличения отказоустойчивости у NFS тоже есть механизмы в плане failover переключения на другой хост. И так, рассмотрим общий случай:
srv1.domain.com, share = /data/share1
srv2.domain.com, share = /data/share2
Тогда строка отказоустойчивости для монтирования NFS (для Solaris, например, это задаётся в файле /etc/auto_direct) будет выглядеть так:
Если при использовании браузеров safari или chrome страничка не открывается, а в логах nginx’a
2014/03/26 01:53:33 [alert] 27385#0: worker process 24250 exited on signal 11
2014/03/26 01:53:33 [alert] 27385#0: worker process 24260 exited on signal 11
2014/03/26 01:53:34 [alert] 27385#0: worker process 24261 exited on signal 11
То всему виной отсутствие строки (просто добавьте её)
ssl_session_cache shared:SSL:10m;
в конфиге nginx’a. Она позволяет “шарить” кеш между всеми
worker’ами nginx’a.
[apache] fastcgi + php-fpm
1) Установка необходимых пакетов
# apt-get install libapache2-mod-fastcgi php5-fpm
2) Настройка php.
В настройках php-fpm.conf указываем сокет:
listen = 127.0.0.1:9000
Перезапускам php.