INT 21h

Hi, I am Vladimir Smagin, SysAdmin and Kaptain. Telegram Email / GIT / Микроблог / Thingiverse / RSS / GPG

bash: wait database for connection

№ 10430 В разделе "Sysadmin" от December 6th, 2019,
В подшивках: , ,

You can easily use it to check MySQL or Postgresql connection.

#!/bin/bash

for i in `seq 1 ${CONNECT_TIMEOUT}`;
do
  mysql -h "${DB_HOST}" -u${DB_USERNAME} -p${DB_PASSWORD} ${DB_DATABASE} -e 'select 1'
  if [ $? -eq 0 ]; then
    echo "Connected to MySQL"
    exit 0
  fi
  if [ $i -eq ${CONNECT_TIMEOUT} ]; then
    echo "MySQL timeout"
    exit 1
  fi
  sleep 1
done

Нет комментариев »

Splash: how to change user-agent with Lua in Bash

№ 10157 В разделах: Programming Sysadmin от August 3rd, 2019,
В подшивках: , , ,

Before start install jq application, required to work with JSON, used to prepare lua script for sending to Splash API.

Create file named splash.lua

function main(splash, args)
  splash:set_user_agent('Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_2_1 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5H11 Safari/525.20')
  splash:set_viewport_size(800, 600)
  splash:go('https://www.whatismybrowser.com/')
  splash:wait(0.5)
  return splash:png()
end

Create bash script run.sh

#!/bin/bash

JSON="{\"lua_source\":$(jq -Rs . < script.lua)}"

curl -s -X POST -H "Content-Type: application/json" -d "${JSON}" \
   "http://192.168.1.9:5009/execute" -o out.png

Check result image

Нет комментариев »

Bash + PHP + imagemagick + ffmpeg: карта звездного неба

№ 9074. В разделе " Programming " от July 30th, 2018

В подшивках: ,

Скрипт для автоматического обновления сборника драйверов DRP.su и распаковки только драйверов

№ 8603 В разделе "Sysadmin" от February 1st, 2018,
В подшивках: ,

Рекомендую запускать каждые 6 месяцев через cron.

#!/bin/bash
source /etc/profile

#install updates
apt update
apt install -y p7zip-full p7zip-rar aria2

rm -rf drivers *.iso *.torrent
aria2c http://download.drp.su/DriverPack-Offline.torrent

7z x *.iso drivers/

find drivers -name "*.7z"|while read fname; do
    7z x $fname -o$fname-unpack/
    rm -f $fname
done;

Нет комментариев »

Робот для автоматической проверки SSL сертификатов на тухлость

№ 8315 В разделе "Sysadmin" от June 6th, 2017,
В подшивках: , ,

Всего за часик вместе с раскуриванием мануалов накидал себе робота, который читает список доменов из файла sites.txt и присылает письмо в случае протухания сертификата в следующие 24 часа. Рекомендуется для установки в крон для ежесуточного запуска в полночь или около того.

#!/bin/bash
cd "$(dirname "$0")"
mailto="foo@mail.ru"
sites=$(cat sites.txt)
for site in $sites; do
    dates=$(echo -e| openssl s_client -servername $site -connect $site:443 2>/dev/null | openssl x509 -noout -dates -issuer)
    exp=$(echo|openssl s_client -servername $site -connect $site:443 2>/dev/null | openssl x509 -noout -checkend 86400)
    if [ $? -gt 0 ];
    then
      echo $dates|mail -s "SSL Expires! Update $site in next 24 hours" "$mailto"
    fi
done

Нет комментариев »

Яндекс.Метрика

Fortune cookie: Well, I'm a classic ANAL RETENTIVE!! And I'm looking for a way to VICARIOUSLY experience some reason to LIVE!!