вторник, 10 ноября 2015 г.

Data Protector Post-exec and extended report of volume

TASK: after backup need to make table of total size and count of files of catalogs of second level for volumes VOL2, VOL4, VOL5 и VOL7 and show it in web.

Data Protector email report has view:

Cell Manager: matador2
Creation Date: 9/8/2015 11:54:14 PM

Session Information

Specification: EngineFC
Session ID: 2015/09/08-3
Type: Backup
Session Owner: matador2\ADMINISTRATOR@matador2
Status: Completed/Failures
Mode: incr
Start Time: 9/8/2015 9:00:05 PM
Queuing: 0:00
Duration: 2:54
GB Written: 733.24
# Media: 3
# Errors: 8
# Warnings: 14
Success: 100%

Command of next view allows to get full list of files and their sizes for volume:
omnidb -winfs engine.zp.ua:/K "K:" -session 2015/10/23-3 -catalog  > c:\report.txt

I have coded test script and pointed his name to the field:
HP Data Protector Manager / Backup / Backup Object Summary / Properties... / Options / Post-exec / dp_post_exec.cmd.
But I got error:
[Critical] From: VBDA@engine.zp.ua "O:"  Time: 09.11.2015 13:04:41
[61:3005]    Cannot perform stat() on script "C:\Program Files\OmniBack\bin\/dp_post_exec.cmd",
    system reports: "[2] The system cannot find the file specified "
[Critical] From: VBDA@engine.zp.ua "O:"  Time: 09.11.2015 13:04:41
    Post-exec failed with exitcode -1 => backup aborted!

After reading Internet I have understood that script is run on client side but I placed script on server!

I pointed script and server in:
HP Data Protector Manager / Backup / Options / Backup Specification Options / Advanced... / Post-exec / Post-exec: dp_post_exec.cmd, On client: matador2.
It worked!

After that I had coded needed script:

@echo off

rem set s=2015/11/09-16
set s=%SESSIONID%
set s=%s:/=-%

rem echo %MODE%

if "%MODE%"=="Full" (

omnidb -winfs engine.zp.ua:/O "engine.zp.ua [/O]" -session %SESSIONID% -catalog > c:\for_popus3\%s%_VOL4.txt
omnidb -winfs engine.zp.ua:/M "engine.zp.ua [/M]" -session %SESSIONID% -catalog > c:\for_popus3\%s%_VOL5.txt
omnidb -winfs engine.zp.ua:/L "engine.zp.ua [/L]" -session %SESSIONID% -catalog > c:\for_popus3\%s%_VOL7.txt
omnidb -winfs engine.zp.ua:/K "engine.zp.ua [/K]" -session %SESSIONID% -catalog > c:\for_popus3\%s%_VOL2.txt

)

I shared catalog and mounted it on web-server:

# cat /etc/fstab |grep popus3
//matador2/for_popus3 /var/www/html/ddd/reports cifs password=ghgh,username=popus3 0 0

# ls -l /var/www/html/ddd/reports
total 324287
-rwxr-xr-x 1 root root    549948 Nov  9 16:01 2015-11-05-3_VOL2.txt
-rwxr-xr-x 1 root root  22405483 Nov  9 14:54 2015-11-05-3_VOL4.txt
-rwxr-xr-x 1 root root 308991002 Nov  9 15:42 2015-11-05-3_VOL5.txt
-rwxr-xr-x 1 root root    122328 Nov  9 15:50 2015-11-05-3_VOL7.txt

Now on web-server need to code script for parsing these reports and showing table in browser.

вторник, 1 сентября 2015 г.

Джордж Орвелл «1984» (або Тисяча дев'ятсот вісімдесят четвертий)

Вирішив перечитати роман в українському перекладі.

Посилання на джерела:
http://toloka.to/t58233 Джордж Орвелл. 1984 : роман-антиутопія. Переклад з англійської Віталій Данмер. Львів: Видавництво Гуртом, 2013. — 321 с.
- Джордж Орвелл. 1984. Переклад з англійської Віктор Шовкун. Серія "Майстри світової прози". Київ: Видавництво Жупанського, 2015. 312 стор. ISBN 978-966-2355-57-4

Почав читати відредагований редактором переклад аматора Данмера - отримав неприємний осад від непрофесійності автора в галузі літературного перекладу тощо. Звісно, сам я і так не перекладу, але, сподіваюся, що професійний перекладач вкупі з професійним редактором повинні явити щось краще.

Буду чекати на друге джерело.

P.S. В вікіпедії на сторінці Премія імені Максима Рильського є і Віктор Шовкун, і Олег Жупанський... Прикро, що були усі передумови для "другого джерела" щоб стати непоганим перекладом... Але, судячи з коментарів, які я занотував нижче, цього не сталося.

воскресенье, 16 августа 2015 г.

Btrfs instead LVM

Після ганебного ступору відносно btrfs під час установки Arch Linux стало цікаво - чи може btrfs гідно замінити LVM?..
До цього я вивчав btrfs на домашньому нетбуці, але справа не дійшла далі об"єднання розділів у рейд.
У цейтноті з наскоку інтуїтивно вирішити LVM-мовські задачі, використовуючи лише btrfs, не вдалося.
Заздалегідь я вирішив не використовувати btrfs в LV, бо окрім того, що це зручно, інших плюсів не має: буде трохи повільніше працювати, LVM snapshots недосконалі тощо.

Порівняння потрібних мені можливостей LVM та btrfs:
1) LVM дозволяє створювати VGs, які можна збільшувати і збільшувати додаванням нових і нових фізичних розділів. Btrfs створює ФС в яку теж можна додавати нові фізичні розділи. Залишилося незрозумілим одне: можна створити ФС менше ніж фізичний розділ (mkfs.btrfs -b50G /dev/sdaX), або зменшити потім (btrfs fi re -10G /), але навіщо це робити і як можна використовувати залишений простір - не ясно.
2) З VG можна нарізати LVs. В btrfs можна створювати subvolumes.
3) На LV можна створити "любу" ФС і в підсумку отримати букет з різних ФС. Btrfs - це лише ФС btrfs.
4) З LV можна створювати snapshots. Btrfs справляється с цим завданням ще краще.
5) Можна задати розмір LV. А от btrfs типово цього не робить, тобто якийсь юзер може заповнити усю ФС із subvolume home. Пишуть, що є вихід - це квоти.
6) Питання з btrfs FAQ.
7) How big my stanpshots?
du only tells you how big the entire snapshot is and not how much of the snapshot is exclusive to this snapshot only.
With quota and qgroups we can see that.

Далі тренування на нетбуці.

суббота, 8 августа 2015 г.

Arch Linux on IBM System x35550 M4

1) Следую записи своего блога Arch Linux on HP Mini 110, part 2.

Пишу образ от 01-08-2015, используя USBWriter, на флешку и загружаюсь с неё в консоль.

Создаю в fdisk btrfs-разделы swap (sda1) и sda2.
Создаю subvol root, следуя записи своего блога The btrfs filesystem backup for roll back.
Выделяю для него 50 ГБ.
# mkfs.btrfs -b50G /dev/sda2 (возможно, здесь нужно было делать по-другому)

Сеть работает, локальный ip получен (см. ifconfig).

Запускаю sshd, задаю пароль для root, запускаю ftpd и ухожу на своё рабочее место - установку можно делать удаленно по ssh!
# systemctl start sshd.service
# passwd
# systemctl start ftpd.service (ftp пускает под root'ом).

Нужен доступ в Инет для установки base через прокси.
# export http_proxy='http://proxy:3128/'

Для настройка static ip после установки использовал netctl, сетевой интерфейс eno4.
# cp /etc/netctl/examples/... /etc/netctl/
# netctl start ...
# netctl enable ...

2) После пары авантюрных дней, от установки Arch на сервер в итоге пришлось отказаться: не время и не место были для этого.
Никто из нашей команды админов линукса не поддержал установку Arch.
В итоге я снес Arch и поставил Centos 7.1 1503.
Если на установку и настройку первого я потратил пол дня, то второго - час.
Также сказались привычки, например Webmin, от которого в Arch отказались.
Не хватило опыта работы с btrfs, когда я начал нарезку томов, то понял, что не готов...
При создании btrfs subvol для /var/lib/mysql прочел, что надо отключать COW...
Arch создал btrfs subvol /var/lib/machines без моего ведома.

3) Для восстановления данных с диска старого сервера следую такой стратегии:
- Загружаюсь на старом сервере с инсталляционного Arch образа.
- Монтирую диск, копирую данные по ftp с помощью mc куда мне надо.
- Опять же, можно запустить sshd и работать удаленно со своего места.

Старый сервер не грузился с флешки, пришлось писать образ Arch на cd.
При загрузке с cd выдало следующую ошибку:

Mounting '/dev/disk/by-label/ARCH_201508' to '/run/archiso/bootmnt'
ERROR: '/dev/disk/by-label/ARCH_201508' device did not show up after 30 seconds..

Решение:

# cd /dev/disk
# mkdir by-label
# cd by-label
# ln -s ../../sr0 ARCH_201508
mount -t iso9660 /dev/disk/by-label/ARCH_201508 /run/archiso/bootmnt
# exit

вторник, 28 июля 2015 г.

Прес-конференція команди дослідників місії НАСА "Нові обрії" від 24 липня 2015 року

Рухаючийся лід та дивовижно обширна атмосфера - це одні з новітніх відкриттів місії, розкриваючі далекий Плутон як крижаний світ чудес.

Доповідає Алан Стерн, головний дослідник місії з Південно-західного науково-дослідного інституту.


Слайд 1. Вже знайомі нам (читачам сайту) Плутон та Харон в натуральних кольорах від 13-14 липня.
Такими їх побачать українські астронавти - спостерігачі космічного човна.

пятница, 17 июля 2015 г.

Проліт Плутона космічним зондом НАСА "Нові обрії"


Роботизований космічний зонд НАСА «Нові обрії» було запущено 19 січня 2006 року. Він пролетів повз Юпітер 28 лютого 2007 року, перетнув орбіту Сатурна 28 січня 2008 року, і, нарешті, досяг карликову планету Плутон 14 липня 2015 року о 14:49 за київським часом та продовжив свій політ у пояс Койпера.

Далі деякі фото і коментарі, щодо вищезазначених подій.
Джерело: pluto.jhuapl.edu (Johns Hopkins University Applied Physics Laboratory).

среда, 27 мая 2015 г.

ДЫХАНИЕ – ПУТЬ БЕЗ ПУТИ

Сохраняющим любовь и
 миротворцам посвящается

По разным причинам умирают люди. Особое место среди них занимают сердечно-сосудистые заболевания. А среди последних – ишемическая болезнь сердца (стенокардия и инфаркт миокарда). Инфаркты и инсульты являются причиной смерти каждого второго жителя Земли. У мужчин эта доля гораздо выше – доходит до 75% случаев смерти в возрасте от 25 до 65 лет. По официальной статистике только в России ежедневно от инфарктов и инсультов умирает более 3500 человек.
В 90% случаев причиной инфаркта миокарда является артериосклероз. В наше время у половины детей моложе года (!!!) можно обнаружить в аорте холестериновые бляшки. В юношеском возрасте холестериновые пятна появляются уже в коронарных артериях сердца. А после 30 лет склероз поражает практически все артериальные сосуды у всех людей...

Лечить болезнь, а тем более заниматься её профилактикой, можно лишь в том случае, если известна её причина. Не так ли? В чём же главная, основная, непосредственно ощущаемая самим человеком причина склероза, инфарктов, инсультов?

вторник, 19 мая 2015 г.

AdSense and Blogger. The End.


Google Inc. as owner AdSense: Mitigation of punishment (the ban permanently) blocked participants AdSense

Why it's important

Because the lifetime ban using AdSense for website owners destroys the entire infrastructure of the latter, based on the services Google, cuts the ground from under the feet and threatens to ensure profitability of such websites, which do not have the means to develop their own system of selling advertising.
People make much more horrible things: violence, theft, assault, armed robbery, murder, and they receive conditional or specific terms why for some invalid clicks a person loses the ability to use AdSense FOR EVER ?!

SIGN THE PETITION


Google Inc. as owner AdSense: Смягчение наказания (запрет навсегда) заблокированным участникам AdSense

Почему это важно

Потому, что пожизненный запрет использования AdSense для владельцев сайтов разрушает всю инфраструктуру последних, основанную на сервисах Google, выбивает почву из под ног и угрожает обеспечению доходности таких веб-сайтов, у которых отсутствуют средства для развития собственной системы продажи рекламы.
Люди совершают куда более ужасные вещи: насилие, кражи, нападения, вооруженные ограбления, убийства, и получают условные или определенные сроки, почему же за какие-то недействительные клики человек лишается возможности использовать AdSense НАВСЕГДА?!

ПОДПИСАТЬ ПЕТИЦИЮ

четверг, 14 мая 2015 г.

Using cat, tail, head and mailmgr for generating quarterly reports of sendmail logs

0) I know that big log file begins from Jan 1 2014 and ends till May 14 2015.

Date of first line:
head -n1 ./maillog_k
Jan  1 00:00:01

Date of last line:
tail -n1 ./maillog_k
May 14 04:15:02

Newlines, words, bytes:

# wc ./maillog_k
  3891438  64840971 834912647 ./maillog_k

# cat /etc/asplinux-release
ASPLinux release 11.2 (Ladoga)

mailmgr-1.2.3


1) First quarter 2014:

# cat -n ./maillog_k | grep 'Apr  1' | head -1
616119  Apr  1 00:00:01

# head -616118 ./maillog_k > ./maillog_k_14_1


2) Second quarter 2014:

3891438 - 616118 = 3275320

# tail -3275320 ./maillog_k > ./maillog_k2

# cat -n ./maillog_k2 | grep 'Jul  1' | head -1
614176  Jul  1 00:00:00

# head -614175 ./maillog_k2 > ./maillog_k_14_2


3) Third quarter 2014:

3275320 - 614175 = 2661145

# tail -2661145 ./maillog_k2 > ./maillog_k3

# cat -n ./maillog_k3 | grep 'Oct  1' | head -1
664906  Oct  1 00:00:01

# head -664905 ./maillog_k3 > ./maillog_k_14_3


4) Fourth quarter 2014:

2661145 - 664905 = 1996240

# tail -1996240 ./maillog_k3 > ./maillog_k4

# cat -n ./maillog_k4 | grep 'Jan  1' | head -1
799719  Jan  1 00:00:01

# head -799718 ./maillog_k4 > ./maillog_k_14_4


5) First quarter 2015:

1996240 - 799718 = 1196522

# tail -1196522 ./maillog_k4 > ./maillog_k5

# cat -n ./maillog_k5 | grep 'Apr  1' | head -1
846789  Apr  1 00:00:01

# head -846788 ./maillog_k5 > ./maillog_k_15_1


6) Leave unanalyzed data:

1196522 - 846788 = 349734

# tail -349734 ./maillog_k5 > ./maillog_k


7) I have finally:

# ls -l ./maillog_k*
-rw-r--r--  1 root root  74732033 Май 14 15:45 ./maillog_k
-rw-r--r--  1 root root 137903559 Май 14 14:57 ./maillog_k_14_1
-rw-r--r--  1 root root 134171566 Май 14 15:15 ./maillog_k_14_2
-rw-r--r--  1 root root 142580534 Май 14 15:20 ./maillog_k_14_3
-rw-r--r--  1 root root 169452305 Май 14 15:40 ./maillog_k_14_4
-rw-r--r--  1 root root 176072650 Май 14 15:44 ./maillog_k_15_1
-rw-r--r--  1 root root 697009088 Май 14 15:01 ./maillog_k2
-rw-r--r--  1 root root 562837522 Май 14 15:18 ./maillog_k3
-rw-r--r--  1 root root 420256988 Май 14 15:39 ./maillog_k4
-rw-r--r--  1 root root 250804683 Май 14 15:42 ./maillog_k5


8) Generate reports for 2014 year:

# /usr/bin/mailmgr -l ./maillog_k_14_1 -o /var/www/stat/1/rep_mail_k
MAILMGR: Successfull report generated on /var/www/stat/1/rep_mail_k
# /usr/bin/mailmgr -l ./maillog_k_14_2 -o /var/www/stat/1/rep_mail_k
MAILMGR: Successfull report generated on /var/www/stat/1/rep_mail_k
# /usr/bin/mailmgr -l ./maillog_k_14_3 -o /var/www/stat/1/rep_mail_k
MAILMGR: Successfull report generated on /var/www/stat/1/rep_mail_k
# /usr/bin/mailmgr -l ./maillog_k_14_4 -o /var/www/stat/1/rep_mail_k
MAILMGR: Successfull report generated on /var/www/stat/1/rep_mail_k

After that move all reports to archive from /var/www/stat/1/rep_mail_k and delete maillog_k*.


9) Generate first report of 2015 year:

# /usr/bin/mailmgr -l ./maillog_k_15_1 -o /var/www/stat/1/rep_mail_k
MAILMGR: Successfull report generated on /var/www/stat/1/rep_mail_k

вторник, 3 февраля 2015 г.

Creating file server structure from Excel table on Centos 6.6

1) I saved the code of the below followed script as an example for the following queries for myself:
  • export excel csv
  • bash parse string in to array
  • bash read file line by line
  • bash substring exists
  • bash symbolic link
  • bash function example
  • bash tree
  • bash file exists
  • bash if and or example
  • bash if test example
  • bash if else
  • bash format string
  • bash padded zero