Automatically create Bitbucket pull requests via API/cURL

#!/bin/bash
 
array=( folder1 repofolder2 another_repo_folder )
 
FROM=staging
TO=master
 
for i in "${array[@]}"
do
	cd /full/path/to/repo/containing/folder/$i
 
	REPO=`git remote show origin | grep Push | grep MAIN_REPO_NAME | cut -d "/" -f 5 | cut -d "." -f 1`
 
	curl -X POST -H "Content-Type: application/json" -u USERNAME_HERE:PASSWORD_HERE https://bitbucket.org/api/2.0/repositories/BITBUCKER_OWNER_HERE/$REPO/pullrequests -d '{ "title": "'$FROM' to '$TO'", "description": "AUTO: '$FROM' to '$TO'", "source": { "branch": { "name": "'$FROM'" }, "repository": { "full_name": "BITBUCKER_OWNER_HERE/'$REPO'" } }, "destination": { "branch": { "name": "'$TO'" } }, "close_source_branch": false }'
 
done
Categories: How to ... ? Tags:

postfix delete mail queue by tag, sender, receiver

mailq | grep KEYWORD | awk '{print $1}' | postsuper -d -
Categories: How to ... ?, Quick Tips Tags:

How to install nagios3 on Ubuntu server

apt-get install nagios3 nagios-nrpe-plugin nagios-plugins
dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3

++ Hosts without ping

Categories: How to ... ?, Linux, Quick Tips Tags:

ProFTPd service shuts down automatically

Edit:

/etc/init.d/proftpd

Find this line:

start-stop-daemon --stop --signal $SIGNAL --quiet --pidfile "$PIDFILE"

Change to this:

start-stop-daemon --stop --signal $SIGNAL --retry 1 --quiet --pidfile "$PIDFILE"

copy/paste @ askubuntu

Categories: How to ... ?, Linux, Quick Tips Tags:

MySQL 5.7 ONLY_FULL_GROUP_BY

Играейки си с една мъничка SQL заявка (само 38 реда) и тествайки скоростта й на MySQL 5.7 намерих нещо интересно 🙂

За да направят версия 5.7 SQL99 compliant, разработчиците на MySQL са променили начина на работа на GROUP BY.

Подробно описание от човек, гледащ в бъдещето, което всъщност вече е тук -> http://rpbouman.blogspot.co.uk/2014/09/mysql-575-group-by-respects-functional.html

Що е то SQL99? -> https://en.wikipedia.org/wiki/SQL:1999

Categories: MySQL Tags:

MySQL 5.7 GIS

От време не време се налага да се занимавам с изчисляване на разстояния от точка А до точка В. Останах приятно изненадан от поддържката на GIS (https://en.wikipedia.org/wiki/Geographic_information_system) в MySQL 5.7.

Тъй като все още не съм намерил време да го тествам, ето линк към една доста добре написана статия с достатъчно информация и тестове за добър старт на деня -> https://www.percona.com/blog/2016/02/03/new-gis-features-in-mysql-5-7/

Categories: MySQL Tags:

IPtables port forwarding

Бързи бележки за 1-2 команди и прансочване на портове 🙂

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat --line-numbers -n -L
iptables -t nat -D PREROUTING 2
Categories: How to ... ?, Linux, Quick Tips Tags:

National Geographic Picture of the Day

Малък скрипт, за който не мога да си препиша заслугите, но ми върши перфектна работа.
Всяка сутрин се стартира в 10:10 и сваля “National Geographic Picture of the Day” в определена папка. И тъй като wallpaper-чето ми се set-ва на всеки 5 мин взимайки random снимка от въпросната папка, всеки ден получавам нова картинка, която чакам да видя с нетърпение 🙂

#!/bin/sh
DATE=`date +%Y-%m-%d`
 
curl http://photography.nationalgeographic.com/photography/photo-of-the-day/ -o pod
 
# look for wallpaper version
if (curl `cat pod | tr '"' '\n' |grep -B 1  'Download wallpaper' | head -1` -o pod2) then
	cat pod2 | tr '"' '\n' |grep -oh 'http://.*exposure.*.jpg' |head -1 | sed 's/0_360x270/0_2560x1600/'
	a=`cat pod2 | tr '"' '\n' |grep -B 4 -A 4 'Desktop Wallpaper' | grep '.jpg' | sed 's/0_1600x1200/0_2560x1600/'`
	curl 'http://photography.nationalgeographic.com/'$a -o $DATE.jpg;
else
	# download the image from here --- in case it is not a wallpaper
	echo "oops... no wallpaper. Get it anyway..."
	a=`cat pod|tr '"' '\n' |grep -A 20 "primary_photo"|grep nationalgeographic.com`
	curl 'http:'$a  -o $DATE.jpg
fi
 
rm pod
rm pod2
Categories: bash, Scripts, Всичко друго Tags:

Преинсталиране на Acer Ferrari One 200 от скрит дял.

April 8th, 2015 No comments

След като се появиха лоши сектори по оригиналния хард диск на лаптопа, реших че е време за ъпгрейд. Понеже компютъра разполага с оригнална операционна система Windows 7 Home, ще се преинсталира от скрития дял на хард диска. Първо прехвърляме Recovery дяла от стария хард диск на новия. Изполваме софтуер като Norton Ghost, Acronis Disk Director или друг подобен.

Необходимо е само да се прехвърли 12GB партишън и да се форматира останалото свободно пространство. След като сложим новия хард диск (с вече копиран на него Recovery дял) в лаптопа, е необходимо да влезнем в BIOS, посредством бутона F2 при началния екран. След като веднъж сме в BIOS-a трябва да позволим D2D (Disk 2 Disk Recovery) опцията.


Следва рестартиране на компютъра и посредством клавишна комбинация ALT+F10 влизаме в Recovery софтуера.
Следваме стъпките от софтуера.

След което изчакваме първото стартиране на Windows-a.


Подобна е процедурата и при други марки лаптопи.

Categories: Hardware, How to ... ?, Windows Tags:

Monitoring SSL expiration date with Nagios

Nagios е доста лесен за употреба и мощен инструмент, с помощта на който можете да проверявате статуса различни services, стига да можете да го конфигурирате правилно.

Ето конфигурация, с която nagios ще ни информира когато наближава изтичането на конкретен SSL сертификат, инсталиран на определен уебсайт (домейн).
В посоченият пример ще получим алерт 30 дни преди да изтече сертификата на нашият сайт (www.mydomain.com).

Service:

define service{
    use                             generic-service
    host_name localhost
    service_description SSL Certificate: www.mydomain.com
    check_command check_domain_cert!443!30!www.mydomain.com
}

Command:

define command{
    command_name check_domain_cert
    command_line /usr/lib/nagios/plugins/check_http -S \
        -I $ARG3$ -w 5 -c 10 -p $ARG1$ -C $ARG2$
}
Categories: How to ... ? Tags: ,