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: ,

Представяме ви: AWS Auto Instance discovery for nagios

AWS Auto Instance discovery for nagios е малък скрипт, с помощта на който автоматично можете да генерирате nagios конфигруационни файлове за вашите AWS инстанции (сървъри).

Използването му е много лесно, а самият скрипт можете да модифицирате както пожелаете, за да отговаря на вашите изисквания и инфраструктура.

Можете да го намерите в exchange директорията на nagios.org тук: http://exchange.nagios.org/directory/Cool-Stuff/AWS-Auto-Instance-discovery/details

Пълният код и инструкции за употреба можете да намерите в Github, ето тук: https://github.com/Blagomir/nagios-aws-generator

Categories: AWS, Проекти Tags:

How to generate in PHP all combinations of items in multiple arrays

function combinations($arrays, $i = 0) {
    if (!isset($arrays[$i])) {
        return array();
    }
    if ($i == count($arrays) - 1) {
        return $arrays[$i];
    }
 
    // get combinations from subsequent arrays
    $tmp = combinations($arrays, $i + 1);
 
    $result = array();
 
    // concat each array from tmp with each element from $arrays[$i]
    foreach ($arrays[$i] as $v) {
        foreach ($tmp as $t) {
            $result[] = is_array($t) ? 
                array_merge(array($v), $t) :
                array($v, $t);
        }
    }
 
    return $result;
}
 
print_r(
    combinations(
        array(
            array('A1','A2','A3'), 
            array('B1','B2','B3'), 
            array('C1','C2')
        )
    )
);

copy/paste @ stackoverflow

Categories: PHP Tags:

Как да прочетем мейл, който вече е в опашката на postfix

postcat -q MESSAGE_ID

Как да добавим delay в postfix

В /etc/postfix/main.cf добавяме:

 smtp_destination_rate_delay = 1s

След като изпрати 1 мейл, postfix ще направим пауза от 1 секунда и тогава ще изпрати другите.

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

List all subfolders in path

find . -type d -exec echo mkdir -p {} \;
Categories: How to ... ?, Quick Tips Tags:

MySQL How to select domain name from email address ?

SELECT 
   COUNT(*) as cnt, SUBSTR(SUBSTR(Email, INSTR(Email, '@'), INSTR(Email, '.')), 2) as domain 
FROM 
   Users 
GROUP BY domain 
ORDER BY cnt DESC
Categories: How to ... ?, MySQL, Quick Tips Tags:

lost connection with while performing the HELO handshake

Ако видите този проблем в mailq опашката, най-вероятната грешка е, че нямате set-нат smtp_helo_name.

В /etc/postfix/main.cf добавяме:

smtp_helo_name = full.hostname.tld