Шпаргалки по командам

MySQL

InfluxDB

Nginx

Http

Bash

Firewalld

Iptables

Docker

Systemd

Screen

Vim

MySQL

Как выглядит распределение данных по партициям:

SELECT PARTITION_ORDINAL_POSITION, TABLE_ROWS, PARTITION_METHOD
FROM information_schema.PARTITIONS 
WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'tmp';

Партиции в таблице:

SHOW CREATE TABLE table_name

Посмотреть параметры создания таблицы (показать table schema):

show create table zabbix.history_uint;

Удаление партиции:

ALTER TABLE history_uint DROP PARTITION p2018_09;

Информация о прогрессе импорта дампа БД:

 time zcat dump.sql.gz | pv -rb | mysql database

Выбор всех таблиц в имени которых есть *b_iblock*:

show tables like "%b_iblock%";

Дать все права пользователю на базу с указанием хоста и пароля:

grant all privileges on db_tmp.* to bitrix0@localhost identified by 'password';

Прогресс распаковки дампа MySQL:

time zcat dump.sql.gz | pv -rb | mysql database_name

Посмотреть текущие кодировки:

show variables like 'char%';

Посмотреть текущие представления:

show variables like '%colla%';

Конвертирование базы и таблицы в кодировку utf8mb4 и представление utf8mb4_unicode_ci:

ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

InfluxDB

Аргументы для вывода запроса с экранированными кавычками в терминал:

influx -database 'db_name' -username 'grafana' -password 'password' -execute "SELECT last(\"value\") FROM \"application.\" WHERE (\"app\" = 'test'"

Nginx

Проверка конфигурации и мягкая перезагрузка без обрывов соединений:

nginx -t && nginx -s reload

Httpd

Проверка конфигурации:

httpd -t

Bash

Убить все процессы по шаблону:

pkill -f <pattern>

rsync dry-run:

rsync -n ./ /home/

Проверка правильности файла fstab (dry run):

mount -f

Найти через find и удалить всё в текущей директории кроме папки nodel:

find . -name 'nodel' -prune -o -exec rm -rf {} \;

Фоновый режим процессов:

man ls &
fg &[№ процесса]
jobs # список процессов

tar директории mysql на лету:

tar cvf - mysql | ( cd /destination; tar xf - )

Перенаправить стандартный вывод в лог-файл, а вывод ошибок – в /dev/null

command >file.log 2>&1

Посмотреть используемый MTA

alternatives --display mta

Firewalld

Вывести всю информацию:

firewall-cmd --permanent --list-all

Перезагрузить без потери соединений:

firewall-cmd --reload

Открыть порт или диапазон:

firewall-cmd --permanent --zone=public --add-port=10050-10051/tcp

Добавить маскарадинг на интерфейс:

firewall-cmd --zone=external --add-masquerade --permanent

Перенаправить входящие соединения по 80 порту на другой хост:

firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=10.16.0.3 --permanent

Перенаправить с одного порта на другой порт и узел:

firewall-cmd --zone=external --add-forward port=port=2245:proto=tcp:toport=22:toaddr=10.16.0.3 --permanent

Iptables

Перенаправить с одного порта на другой порт и узел:

iptables -t nat -A PREROUTING -p tcp -d 10.16.0.1 --dport 80 -j DNAT --to-destination 10.16.0.13:8080 --permanent

Вывод правил NAT:

iptables -t nat -L

Сохранить правила:

iptables-save

Удалить правило по номеру строки:

iptables -t nat -L POSTROUTING --line-numbers
iptables -t nat -D POSTROUTING <number>

Docker

Список контейнеров:

docker ps -a

Подключиться к контейнеру:

docker exec -it container_name bash

Остановить все контейнеры:

docker stop $(docker ps -a -q)

Удалить все контейнеры, из которых вышли:

docker rm -v $(docker ps -aq -f status=exited)

Удалить образ:

docker rmi image_name

Создать образ:

docker build -t image_name .

Systemd

Смена имени хоста без перезагрузки ОС:

hostnamectl set-hostname New_HostName
systemctl restart systemd-hostnamed

Screen

Просмотреть список сессий скрина:

screen -ls:

There are screens on:
        27617.pts-0.web-p-3     (Detached)
        2690.pts-0.web-p-3      (Attached)

Подключиться к сессии в состоянии “deattached”

screen -r 27617.pts-0.web-p-3

Подключиться к сессии в состоянии “attached”:

screen -x 27617.pts-0.web-p-3

Отключиться от сессии:

Ctrl+A D

Убить сессию:

screen -S 7617.pts-0.web-p-3 -X quit

Vim

Включить\отключить непечатаемые символы:

set list
set nolist

Включить нумерацию строк:

set num