#deeplinux #otus

Мы запускаем серию заметок по теме нашего нового курса “Администратор Linux”, которые вы сможете найти по хэштегу #deeplinux.



В жизни любого админа есть много пространства для автоматизации.

Пишем простенькие bash-однострочники типа:



for host in hostA hostB hostC; do ssh $host do_something_useful.sh; done



потом эти однострочники обрастают жирком, появляются всякие условия



dumpDb (){

case $DBKIND in:

mysql)

mysqldump $1

;;

pgsql)

pg_dump —some-option-to-dump-to-stdout

;;

esac

return $?

}

doBackup (){

dumpDb mydb > file.sql

return $?

}



doBackup && gzip file.sdl || exit 1



дальше - больше, появляются массивы, ассоциативные массивы и т.д. Но это еще цветочки. Хуже когда в скриптах появляются спонтанные вкрапления Python и Perl. Это свидетельствует только о двух вещах, о них - ниже.



Гвозди надо забивать молотком, а гайки крутить - гаечным ключом. Необходимо выбирать инструмент соответствующий задаче. Да, на баше можно писать достаточно сложные программы, но не стоит забывать, что, все же его задача - помогать нам в ежедневной работе. Скрипты на баше должны быть простые и понятные. Если вы написали скрипт который через неделю уже понимаете с трудом и, чтобы понять, что там происходит приходится интерпретировать скрипт в голове, то вы выбрали не тот инструмент или, что хуже, изобретаете велосипед.



Старайтесь правильно выбранным инструментом писать поддерживаемый код. Задумайтесь, ведь задача админа не в том, чтобы быть незаменимым, а в том, чтобы поддерживать работу системы, бесперебойную работу. Людям свойственно менять работу и оставлять после себя неподдерживаемый продукт значит портить себе карму. Даже если вы не собираетесь менять работу - в отпуск же вы собираетесь, да и отдел растет наверняка, сомневаюсь, что вам хочется всю жизнь поддерживать ваши скрипты. Ведь можно же поделиться с кем-то знаниями и двигаться дальше. Для этого надо прикладывать все усилия, чтобы ваш код был поддерживаем и читаем, использовать принципы KISS и YAGNI.



Это – только часть приятных бонусов.

Если захотите больше – добро пожаловать на курс “Администратор Linux”.

https://otus.ru/lessons/linux/?utm_source=telegram&utm_medium=internal&utm_campaign=linux&utm_content=deeppost&utm_term=05.10