bash

Migrate any mail server to hestiacp (vestacp fork)

My friend asked me to help with the migration of mail from a server running ispmanager5 lite to a server running vestacp. But this script is suitable for migration from any imap server to hestiacp panel.
I found imapsync utility and I'll use it. The email.txt file should contain a list of mailboxes and passwords, one account per line.

hcloud: command-line interface for hetzner cloud

hetzner cloud

Create server:
hcloud server create --name=myserver --image=ubuntu-18.04 --type=cx31 --datacenter=hel1-dc2 --ssh-key=vitich

List our servers to get server ID:
hcloud server list

Add floating-ip
hcloud floating-ip create --type=ipv4 --home-location=hel1

List floating-ip to get floating-ip ID:
hcloud floating-ip list

Edit Java Security Exception list in Linux

java exception blockedЯкщо ви користуєтеся IP-KVM / iLO / IPMI то мабуть Ви стикалися з помилкою "java application blocked by security settings".

Вирішується достатньо просто:

echo "https://10.0.0.1" >> ~/.java/deployment/security/exception.sites

Якщо хочеться додати всі можливі адреси в локальній мережі, то робимо скрипт і додаємо свої мережі:

Check ssl certificate

Розділи: 

Let`s make a script sslcheck and save it to system $PATH:

#!/bin/bash

echo | openssl s_client -showcerts -servername $1 -connect $1:443 2>/dev/null | openssl x509 -inform pem -noout -dates

Check the certificate of vitich.kiev.ua:

$ sslcheck vitich.kiev.ua
notBefore=Feb 8 00:00:00 2019 GMT
notAfter=Aug 17 23:59:59 2019 GMT

udp port forwarding

Розділи: 

Знадобилося мені потестувати відправку логів nginx на віддалений сервер syslog, який вміє тільки udp.
На допомогу прийшов socat:

Запускаємо:
socat UDP4-RECVFROM:5000,fork UDP4-SENDTO:10.1.1.13:5000

Тепер можна відправляти логи на локальний порт udp 5000

How to reset USB port remotely

Розділи: 


#!/bin/bash
usb=`dmesg | grep "New USB device found, idVendor=1058, idProduct=0820"|cut -f1 -d':'| awk '{print $4}' | tail -1`
sudo sh -c "echo $usb > /sys/bus/usb/drivers/usb/unbind"
sudo sh -c "echo $usb > /sys/bus/usb/drivers/usb/bind"

Замінюйте параметри grep на те що вам потрібно.
В моєму випадку результат має бути ось такий:

# dmesg | grep "New USB device found, idVendor=1058, idProduct=0820"|cut -f1 -d':'| awk '{print $4}' | tail -1

1-6

Emergency reboot and poweroff

Розділи: 

Іноді трапляються випадки коли використання стандартних reboot/poweroff не можливе і нам потрібно з'імітувати натискання reset або power.

Отже, якщо "нічого не працює" - перезавантажуємо сервер:
echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

Те саме, тільки перед ребутом синхронізуємо фс:
echo 1 > /proc/sys/kernel/sysrq
echo s > /proc/sysrq-trigger
echo b > /proc/sysrq-trigger

А ця команда вимкне сервер:
echo 1 > /proc/sys/kernel/sysrq
echo о > /proc/sysrq-trigger

Видаляємо порожні рядки і коментарі з конфігураційного файлу за допомогою sed

Розділи: 

Буває так шо відкриєш конфіг, а там стільки всього...

Отже, на допомогу прийде така конструкція:

sed '/ *#/d; /^ *$/d' filename

Pages