Поиск

Найдено 42 статьи по слову "bash"

Реалтайм статистика в Docker

Команда

docker stats $(docker ps|grep -v "NAMES"|awk '{ print $NF }'|tr "\n" " ")

Пример результата

    CONTAINER           CPU %               MEM USAGE / LIMIT       MEM %               NET I/O             BLOCK I/O           PIDS
    some_app_1          0.15%               247.1 MiB / 488.4 MiB   50.59%              3.71 kB / 2.88 kB   146 MB / 19.4 MB    37
    portainer_app_1     0.00%               4.402 MiB / 488.4 MiB   0.90%               1.8 MB / 7.69 MB    22 MB / 65.5 kB     5
    crusatru_app_1      0.00%               1.637 MiB / 488.4 MiB   0.34%               455 kB / 381 kB     7.42 MB / 0 B       2
copypaste docker

Установка docker и docker-compose в одну строку

Установка docker и docker-compose в одну строку на Linux (должен быть установлен curl).

sudo apt-get update; sudo apt-get install ca-certificates curl gnupg; sudo install -m 0755 -d /etc/apt/keyrings; curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg; sudo chmod a+r /etc/apt/keyrings/docker.gpg; echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null; sudo apt-get update; sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Проверяем:

sudo docker run hello-world

Старый скрипт:

apt update; apt upgrade -y; apt install -y curl; curl -sSL https://get.docker.com/ | sh; curl -L https://github.com/docker/compose/releases/download/1.28.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

bash copypaste docker linux

apt-get не работает (ubuntu)

Если вдруг так приключилось, что apt-get отказывается работать, например, загружается, а потом без лишних слов просто вылетает, то попробуйте очистить кэш apt’а. Мне помогает.

$ sudo rm -rf /var/cache/apt/archives/
bash linux

Debug в PHPStorm

Устанавливаем xdebug:

$ sudo apt-get install php5-xdebug

В php.ini вставить следующий блок (желательно в самый низ):
ВНИМАНИЕ! У вас путь zend_extension="/usr/lib/php5/20090626/xdebug.so" может отличатся! Необходимо написать путь до xdebug.so.

[XDebug]
zend_extension="/usr/lib/php5/20090626/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_port="9000"
xdebug.profiler_enable=1
xdebug.profiler_output_dir="/tmp"

Перезапускаем apache:

$ sudo /etc/init.d/apache2 restart

Теперь в PHPStorm.
Заходим в настройки, раздел PHP, подраздел Debug. Проверяем, что в XDebug порт должен стоять — 9000. Принимаем все изменения.
Далее заходим в Run/Edit configuration, нажимаем на плюсик, добавляем PHP Web Application. Называем, например, «phpdebug». Напротив Server нажимаем «…».
Пишем имя веб-приложения, которое будем отлаживать, пишем виртуальный хост, в качестве дебаггера — XDebug. Принимаем все изменения.

Теперь ставим брейкпоинт и нажимаем shift+F9.

php

Проверить, установлен ли memcache на сервере

Самый простой способ — выполните на сервере команду:

$ php -i | grep -i memcache

Если вы увидите строки

memcache
memcache support => enabled

и подобные, то все установлено!

bash

Автоматическое создание виртуального хоста в Apache2 на Linux

В данном случае использовалась Ubuntu.

Чтобы автоматически создать виртуальный хост в Apache2, вы можете использовать bash-скрипт. Для этого создайте файл (например, vhost_creator.sh) и вставьте в него следующее содержимое:

#!/bin/bash
echo "Creating Virtual Host"
cd /etc/apache2/sites-available
cat <<EOF >> "$1.conf"
<VirtualHost *:80>
ServerName $1
ServerAlias www.$1
DocumentRoot "/var/www/$1"
<Directory "/var/www/$1">
allow from all
Options +Indexes
</Directory>
</VirtualHost>
EOF
mkdir "/var/www/$1"
cd /etc/apache2/sites-enabled
ln -s "/etc/apache2/sites-available/$1.conf" "$1.conf"
echo "Editing /etc/hosts"
cat <<EOF >> "/etc/hosts"
127.0.0.1 $1
EOF
echo "Set permissions"
chown -R "$2:$2" "/var/www/$1"
echo "Restarting Apache2"
/etc/init.d/apache2 restart
echo "Finished!"
echo "Local address: /var/www/$1"
echo "Web address: http://$1"

Сделайте файл исполняемым и запустите его от имени root’а:

$ chmod a+x ./vhost_creator.sh
$ sudo ./vhost_creator.sh your_vhost your_login

где:
your_vhost — название виртуального хоста, например test.local или mysite.ru (заходить на него вы будете по адресу http://test.local или http://mysite.ru).
your_login — ваша основная учетная запись, например crusat. Этот параметр требуется для установки прав владельца на корневую директорию виртуального хоста.

Последнюю версию данного приложения, вы можете найти на https://github.com/crusat/vhostcreator

bash

Настраиваем виртуальные хосты в apache2

<span>1.</span> Переходим в /etc/apache2/sites-available
<span>2.</span> Создаем файл example.local.conf
<span>3.</span> Вставляем свои данные:

<VirtualHost *:80>
    ServerName example.local
    ServerAlias www.example.local
    DocumentRoot "/var/www/example"
    <Directory "/var/www/example">
        allow from all
        Options +Indexes
    </Directory>
</VirtualHost>

<span>4.</span> Переходим в каталог /etc/apache2/sites-enabled
<span>5.</span> Создаем ссылку на файл example.local.conf

$ sudo ln -s /etc/apache2/sites-available/example.local.conf example.local.conf

<span>6.</span> Перезапускаем апач:

$ sudo /etc/init.d/apache2 restart

<span>7.</span> Редактируем файл /etc/hosts и добавляем следующую строку:

127.0.0.1 example.local

P.S. Если у вас появляется 500 ошибка, то рекомендую посмотреть логи апача (возможно, у вас не включен mod_rewrite или еще что-либо):

$ tail -f /var/log/apache2/error.log
сайты

EMongoDB failed to open connection: Transport endpoint is not connected

Если у вас появляется такая ошибка, это значит, что вы всего-навсего не запустили демон MongoDB. Это делается так:

$ sudo mongod --dbpath /var/lib/mongodb

Если все равно будет ошибка, проверьте, есть ли права на запись у mongo-user:

$ sudo chown -R mongodb:mongodb /var/lib/mongodb

Чтобы запустить демон монго и можно было закрыть консоль, выполните следующую команду:

$ sudo nohup mongod & exit
mongo

Как установить pip

$ sudo apt-get install python-pip python-dev build-essential
$ sudo pip install --upgrade pip
$ sudo pip install --upgrade virtualenv
linux python

Как запускать задание по крону каждые 10 минут?

Редактируем crontab:

$ crontab -e

Синтаксис времени следующий

# +—————- minute (0 — 59)
# | +————- hour (0 — 23)
# | | +———- day of month (1 — 31)
# | | | +——- month (1 — 12)
# | | | | +—- day of week (0 — 6) (Sunday=0 or 7)
# | | | | |
* * * * * command to be executed

Чтобы запускать скрипт каждые 10 минут, надо написать следующее:

*/10 * * * * /path/to/command

Чтобы запускать скрипт каждый час:

0 */1 * * * /path/to/command

Чтобы запускать скрипт Ежемесячно 1 числа в 12:00 дня:

0 12 1 * * /path/to/command

Прошу обратить внимание, что крон запускается в своем окружении и зачастую большинство переменных окружения недоступны при выполнении задания. Всегда обязательно проверяйте работу!

bash