Autodoc для postgresql

Ставим приложение autodoc

$ sudo apt install libdbi-perl libhtml-template-perl libterm-readkey-perl libdbd-pg-perl
$ git clone https://github.com/cbbrowne/autodoc.git
$ cd autodoc
$ sudo make install

Дальше запускаем скрипт

postgresql_autodoc -d cic-dev-db -h 192.168.17.111 -u postgres --password -t html -s core -f cic-dev-db-core

Примечание: схемы можно передать как

-s "core|dbo"

Исходный код: https://github.com/cbbrowne/autodoc

Запуск dotnet приложений на Ubuntu

Проверяем наличие установленной версии dotnet

Если dotnet не установлен, то устанавливаем его согласно инструкции https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu

Читать далее «Запуск dotnet приложений на Ubuntu»

Ошибка Nginx accept() failed (24: Too many open files)

У вас мощный сервер с десятком простых сайтов, клиенты довольны, сайты быстро открываются и регулярно обновляются. Приток посетителей с каждый днем все больше и больше. Но в один прекрасный момент эта идилия закончится, клиенты начнут жаловаться на частое появление ошибки 500. А почему она возникает? Давайте разберемся с одним из случаев.

Любая конфигурация связки apache+nginx с настройками по умолчанию когда-нибудь приведет к регулярному появлению ошибки 500. Почитав логи nginx вы увидите следующее:

Читать далее «Ошибка Nginx accept() failed (24: Too many open files)»

Размеры папок и дисков в Linux. Команды df и du

  • свободное место на диске
df -f # f - опция для вывода в Гб
  • размер папок на диске
du -sh /var/*
  • размер папок на диске с сортировкой
du -sh * | sort -hr
Пояснение параметров:
  • -h в sort — человеко-читаемые размеры (K, M, G)
  • -r — обратный порядок сортировки
  • -n — числовая сортировка

Подключение телефона в Android Studio (Ubuntu)

  • Проверяем что есть подключенное устройство
lsusb
Наше устройство Qualcomm, Inc
  • В папке /etc/udev/rules.d добавляем файл 51-android.rules и добавить туда следующую информацию
ATTR{idProduct}=="9091", SYMLINK+="android_adb", MODE="0660", GROUP="plugdev", TAG+="uaccess", SYMLINK+="android" 

где 9091 — это идентификатор из команды выше (lsusb)

  • Далее добавляем текущего пользователя в группу plugdev
 sudo usermod -a -G plugdev $userId

где userId — логин пользователя.

  • Активируем правила и перезапускаем adb
sudo udevadm control --reload-rules
sudo service udev restart
sudo udevadm trigger 

Оригинал статьи: https://dimitar.me/how-to-connect-your-android-phone-to-ubuntu-to-do-development-testing-installations-or-tethering-updated/

Запуск nodejs служб на ubuntu 18

В директории /lib/systemd/system требуется создать файл с расширением .service

Файл должен содержать следующую информацию

[Unit]
Description=docs service by nodejs
After=network-online.target

[Service]
User=www-data 
Restart=on-failure
WorkingDirectory=/var/www/docs
ExecStart=/usr/bin/node /var/www/docs/bin/www

[Install]
WantedBy=multi-user.target

где,

  • User — имя пользователя от имени которого запускается служба
  • WorkingDirectory — каталог с приложением, где nodejs

После этого требуется перезапустить daemon

systemctl daemon-reload
systemctl restart docs 
systemctl status docs

, где docs имя службы

systemd вместо upstart

В Ubuntu 18 нет upstart и чтобы можно было использовать это механизм нужно научиться работать с systemd

  1. переходим в каталог /lib/systemd/system и внутри него создаем новый сервис, например node_app.service
[Unit] 
Description=hello_env.js - making your environment variables rad
Documentation=https://example.com
After=network.target

[Service]
Environment=NODE_PORT=3001
Type=simple
User=ubuntu # тут нужен пользователь например root (от имени кого запускаем)
ExecStart=/usr/bin/nodejs /home/ubuntu/hello_env.js
Restart=on-failure

[Install]
WantedBy=multi-user.target

Подробнее тут.

sudo systemctl daemon-reload # перезапускаем deamon
sudo systemctl start hello_env