Вывод определенной строки файла в *nix

Sunday, 21 Feb 2016

При трейсе ошибки установки одного скрипта, возникла необходимость прочесть 98 строку файла. Делается это, ожидаемо, через команду вывода cat

(more…)

VN:F [1.9.21_1169]
Rating: 3.0/10 (1 vote cast)
VN:F [1.9.21_1169]
Rating: 0 (from 0 votes)

Построчная обработка программой файла в shell

Saturday, 20 Dec 2014

Возникла тут необходимость прочекать на хуиз порядка тыщи подсетей, которые я не так давно благополучно выкачал. Ну и по началу я что то затупил и начал чекать через онлайн тулзу NIC.RU, но где к 30IP уже сильно заскучал, т.к провайдеры довольно часто повторялись.

(more…)

VN:F [1.9.21_1169]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.21_1169]
Rating: 0 (from 0 votes)

Подтираем историю shell

Tuesday, 04 Jun 2013

При работе в shell *nic образных систем, имеется возможность просмотреть историю командной строки, что позволяет, к примеру, экономить время при необходимости ввода повторной команды. Тогда стрелками “вверх” ↑ или “вниз” ↓ можно перебрать использованные команды и выбрать их для последующего редактирования или использования.

(more…)

VN:F [1.9.21_1169]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.21_1169]
Rating: +1 (from 1 vote)

Удаляем историю командной строки shell

Friday, 08 Jun 2012

Иногда приключается ситуация, что надо поднять сервак и передать его в руки чужих умельцев, а вы на нем например тестили закрытие трафа в сопряженные сетки, или не хотите палить процедуру настройки сервера.

Для этого надо обнулить историю шелла, или по крайней мере выкинуть из нее какие то фрагменты. Делается это крайне просто, ибо она хранится в файле .bash_history, который находится в домашней директории пользователя, и в случае всяких настроек- root. Естественно что там она хранится в случае использования bash, а не /sbin/nologin

Так что вариантов два, либо обнулить этот файл
# cat /dev/null > ~/.bash_history

либо открыть его на редактирование и постирать ненужные строки ручками.

В обоих случаях надо будет перелогиниться, чтобы shell очистился, так как данные из него подгружаются при загрузке профайла.

VN:F [1.9.21_1169]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.21_1169]
Rating: 0 (from 0 votes)

Переменные окружения в CentOS

Thursday, 17 May 2012

Стал добавлять юзверя в CentOS, ну и что то не могу понять отчего не работает useradd. Не видит его система. А не работает оно потому, что ifconfig я почему то на автомате пишу как /sbin/ifconfig , а вот добавлялку пользователей нет. Иначе бы заметил еще на стадии настройки сети, что не добавлены переменные окружения  /sbin  /user/sbin и /usr/local/sbin

Для чего открываем файло в корне юзверя ~/.bash_profile и допрописываем в переменные PATH указанные, а также все нужные нам окружения.

Теоретически указанные файлы (.bash_profile) отвечают за конкретного пользователя, то есть если мы пропишем их только Васе и руту, то видеть эти пути будут вася и рут, а все остальные пойдут лесом. Тогда как для всех остальных пользователей системы, если мы по доброте душевной хотим позаботиться и о них, нам следует прописать переменные окружения в файле  /etc/profile, где собственно и пропсаны в том числе вышеуказанные пути

pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin

НО, учитывая что в 99% случаев работать мы будем через ssh, данный вариант нам не подходит, ибо при старте ssh запускается интерактивный шелл, который игнорит переменные описанные в файле /etc/profile и поэтому отрабатываются только переменные домашней директории пользователя ~/.bash_profile

VN:F [1.9.21_1169]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.21_1169]
Rating: 0 (from 0 votes)

Отправка отчетов по почте планировщиком cron

Wednesday, 07 Oct 2009

Что то скриптики cron по очистке баз данных почтовика перестали слать свои милые радостные отчетики о проделанной работе, пришлось озадачиться ковыряканием крона по новой.

Наиболее простой способ выяснился после разглядывания подробностей файла /etc/crontab
простая установка директивы  MAILTO= в описании основных параметров отправит всю почту на указанный мейл, но в моем случа нужно давать эпизодического пендаля хозяину сервера, чтобы он следил за своей вотчиной, а я за своей, в этой связи обнаружилось два способа:

корявенький, с указанием директивы mailto в поле команды:
3    1  * * * root MAILTO=xxx@odminblog.ru /root/scripts/mailcleaner.sh
и на мой взгляд более корректный с перенаправлением вывода исполнения скрипта:
3    1  * * * root /root/scripts/mailcleaner.sh 2>&1 | mail -s “Mail base cleaning” xxx@odminblog.ru

, также можно перенаправить вывод выполнения скрипта в лог файл:
3    1  * * * root /root/scripts/mailcleaner.sh >> /var/log/cron.log 2>&1

VN:F [1.9.21_1169]
Rating: 10.0/10 (3 votes cast)
VN:F [1.9.21_1169]
Rating: 0 (from 0 votes)