Авторская информация о системном администрировании.
# sudo -u postgres psql -U postgres -l
📌 Создание текстового дампа базы данных:
# sudo -u postgres pg_dump -U postgres basa01 \
> ~/basa01.sql
📌 Сжимаем дамп на лету с помощью pigz (умеет жать всеми ядрами):
# sudo -u postgres pg_dump -U postgres basa01 \
| pigz > ~/basa01.sql.gz
📌 Восстановление базы данных в новую базу (сначала создаём её):
# sudo -u postgres createdb -U postgres \
-T template0 basa02
# sudo -u postgres psql -U postgres basa02 \
< ~/basa01.sql
Для автоматических бэкапов могу порекомендовать бесплатную программу SQLBackupAndFTP.
📌 Выход из консоли psql (часто забываю):
$ \q
📌 Создать пользователя:
# sudo -u postgres createuser -U postgres zabbix
Задать пароль:
# sudo -u postgres psql -U postgres -c \
"ALTER USER zabbix PASSWORD 'secpasswd'"
📌 Посмотреть список пользователей:
# sudo -u postgres psql -U postgres -c \
"select * from pg_user"
📌 Дать полные права на базу:
# sudo -u postgres psql -U postgres -c \
"GRANT ALL PRIVILEGES ON DATABASE zabbixdb to zabbix"
📌 Назначить пользователя владельцем базы:
# sudo -u postgres psql -U postgres -c \
"ALTER DATABASE zabbixdb OWNER TO zabbix"
📌 Выполнить очистку (-f) и анализ (-z) базы данных Postgres Pro:
# sudo -u postgres vacuumdb -U postgres -f -z -d basa01
📌 Переиндексировать базу:
# sudo -u postgres reindexdb -U postgres -d basa01
📌 Удалить базу данных:
# sudo -u postgres psql -U postgres -c \
"DROP DATABASE basa01"
#postgresql #bash# docker run -d --name vaultwarden -v /vw-data/:/data/ \
-p 80:80 vaultwarden/server:latest
Сервис без проблем прячется за обратный proxy, что может быть полезно с точки зрения безопасности и удобства управления доступом. В репозитории есть примеры настройки работы в таком режиме под все популярные веб серверы.
Если есть желание, можно собрать и поставить без Docker, но придётся немного повозиться. Нужно будет поставить Mysql или Postgresql, Rust, и собрать всё это в Cargo. Потом подготовить конфиг, написать unit для systemd. Так себе затея. В данном случае с докером гораздо проще и быстрее.
⇨ Исходники / DockerHub
#password# docker run -it --rm -v ~/youtrack/:/data \
-p 8080:8080 bellsoft/liberica-openjre-alpine \
java -jar /data/youtrack-2022.2.59587.jar
❗️Это только одноразовый пример запуска jar файла. Youtrack так запускать не надо, у него есть свой Docker контейнер. Я просто проверил работу liberica на его примере, так как был под рукой. Запускал его на днях.
⇨ Сайт com / Сайт ru / DockerHub / Реестр ПО
#docker #java #наше«Web-сервер + базовая работа в консоли (анализ логов, однострочные скрипты)»
📌 Открытый урок проведет Андрей Буранов, специалист по UNIX-системам в компании Mail.Ru Group.
📁 За 1,5 часа на занятии мы:
- устанавливаем WEB-сервер, работаем в консоли
- установка ПО в Linux
- как понять работает ли служба и на основании чего она работает?
- работа в консоли. Анализ логов, написание однострочных скриптов.
👉🏻 Зарегистрируйтесь, чтобы принять участие https://otus.pw/b83a/
Используйте эту возможность протестировать онлайн-курс «Специализация Administrator Linux» от OTUS и познакомиться с преподавателем.
#реклама# git clone https://github.com/pacoorozco/ssham.git ssham
# cd ssham
Делаем копию файла с параметрами окружения:
# cp .env.example .env
Заходим в .env и комментируем строку:
#QUEUE_CONNECTION=database
Пока я этого не сделал, у меня не работала синхронизация ключей по хостам. Несколько часов потратил, пока разобрался.
Далее собираем и запускаем образы:
# export DOCKER_SSHAM_UID="$(id -u)"
# docker-compose build
# docker-compose up -d
Устанавливаем в контейнер app зависимости:
# docker-compose exec app composer install
Инициализируем БД и добавляем туда demo данные:
# docker-compose exec app php artisan key:generate
# docker-compose exec app php artisan migrate:fresh --seed
Дальше идём в веб интерфейс по ip адресу и логинимся под superadmin / superadmin.
Логика работы с ssham следующая. Создаём SSH Key groups, добавляем SSH key и помещаем его в эту группу. Далее создаём Host group, добавляем Host и помещаем его в эту группу. В завершении создаём Rule, где указываем, что созданная SSH Key group имеет доступ к Host group. Или не имеет. Доступ можно как разрешить, так и запретить.
После того, как всё сделали, в Settings смотрим Public key сервера. Его нужно один раз самостоятельно распространить на управляемые хосты, добавив в ./ssh/authorized_keys. После этого идём в консоль сервера, где запущены контейнеры и выполняем синхронизацию:
# docker-compose exec app php artisan ssham:send
После этого на управляемых хостах ключи будут добавлены в authorized_keys. Теперь можно забрать приватные ключи из веб интерфейса и раздать пользователям.
⇨ Исходники
#ssh #devops #управление# cat /proc/net/nf_conntrack
Либо с помощью утилиты conntrack (ставится из реп, либо как conntrack, либо как conntrack-tools). Смотрим:
# conntrack -L -p udp --src 10.1.4.23 --dport 5060
и удаляем:
# conntrack -D -p udp --src 10.1.4.23 --dport 5060
После этого регистрации успешно состоятся.
В чём причина подобных проблем, я не знаю. Теорию не изучал и не исследовал. Просто знаю, что вот это помогает. Возможно есть другое решение. Лично сталкивался с подобными проблемами только с VOIP.
Если кто-то знает, в чём может быть причина подобных проблем и как с ними бороться, буду благодарен любой содержательной информации.
#gateway #voip #asterisk