Перевірка закінчення дати делегування домена в Zabbix

в zabbix_agentd.conf

EnableRemoteCommands=1

файл: checkdomain.sh

 #!/bin/bash

DOMAIN="$1"

data=$(whois $1 | grep -E 'paid|Expir|expir' | grep -o -E '[0-9]{4}.[0-9]{2}.[0-9]{2}|[0-9]{2}/[0-9{2}/[0-9]{4}' | tr . / | awk 'NR == 1')
expire=$((`date -d "$data" '+%s'`))
today=$((`date '+%s'`))
lefts=$(($expire - $today))
leftd=$(($lefts/86400))
echo $leftd

Items:




Перевірка терміну придатності SSL-сертифікату в Zabbix

в zabbix_agentd.conf

EnableRemoteCommands=1

файл: checkssl.sh

#!/bin/bash

ssl-cert-check -s $1 -p $2 -n | sed 's/  */ /g' | cut -f6 -d" " | sed -e 's#|days=##'

Items:


 Trigger:



Автостарт icecast через systemd

# touch /etc/systemd/system/icecast.service

[Unit]
Description=Icecast Network Audio Streaming Server
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/Icecast-Server/bin/icecast -c /usr/local/Icecast-Server/etc/icecast.xml
ExecReload=/bin/kill -HUP $MAINPID
User=radio
Group=radio
WorkingDirectory=/usr/local/Icecast-Server

[Install]
WantedBy=multi-user.target

# systemctl enable icecast

# systemctl start icecast
# systemctl stop icecast
# systemctl restart icecast
 

mysql заміна кодування в таблицях і полях на прикладі апгрейда zabbix

Таблиці: 
SELECT CONCAT('ALTER TABLE ',
table_schema,
'.',
table_name,
' COLLATE=utf8_bin;') AS cmd
FROM (SELECT table_schema,
table_name,
table_collation
FROM information_schema.tables t
WHERE table_schema = 'zabbix'
AND table_collation != 'utf8_bin') AS tables
ORDER BY cmd;
Поля:
SELECT CONCAT('ALTER TABLE ',
table_schema,
'.',
table_name,
' MODIFY COLUMN ',
column_name,
' ',
column_type,
' CHARACTER SET utf8 COLLATE utf8_bin',
defaultval,
nullable,
';') AS cmd
FROM (SELECT table_schema,
table_name,
column_name,
collation_name,
character_set_name,
column_type,
column_default,
CASE
WHEN column_default IS NULL THEN ''
ELSE CONCAT(' DEFAULT ''', column_default, ''' ')
END AS defaultval,
CASE
WHEN is_nullable = 'NO' THEN ' NOT NULL '
ELSE ''
END AS nullable
FROM information_schema.columns
WHERE table_schema = 'zabbix'
AND ( collation_name != 'utf8_bin'
OR character_set_name != 'utf8' )) AS cols
ORDER BY cmd; 

Автозапуск docker-compose up -d при старті системи

Створюємо файл сервісу:
# /etc/systemd/system/docker-compose-app.service

[Unit]
Description=Docker Compose Application Service
Requires=docker.service
After=docker.service

[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/srv/docker
ExecStart=/usr/local/bin/docker-compose up -d
ExecStop=/usr/local/bin/docker-compose down
TimeoutStartSec=0

[Install]
WantedBy=multi-user.target
активовуємо автозапуск сервісу
# systemctl enable docker-compose-app 

глюк phpmyadmin: - count(): Parameter must be an array or an object that implements Countable

файл /usr/share/phpmyadmin/libraries/sql.lib.php 613 лінія


|| (count($analyzed_sql_results['select_expr'] == 1)


 заміна на


|| ((count($analyzed_sql_results['select_expr']) == 1)

tcpdump сніфер з гарним виводом

tcpdump -n -A -i interface src or dst host.com | perl -ne 'if(/\d\d:\d\d:\d\d\.\d{6} IP (\d+\.\d+\.\d+\.\d+)\.(\d+) > (\d+\.\d+\.\d+\.\d+)\.(\d+)\:.*length (\d+)/) { $preamble="$1:$2->$3:$4 "; } else { print "$preamble$_"; }'