LINUX.ORG.RU

Сообщения karasic

 

Модули Ansible

Форум — Admin

Хочу в ansible сделать плейбук который создает резервную копию файла, с которым потом буду проделывать необходимые операции.

---
- name: archive test file
  hosts: all
  tasks:

  - name: arc test file
    archive: path=/root/.bash_history format=zip

При запуске - ошибка

ERROR: archive is not a legal parameter in an Ansible task or handler

Непонятно в чём ошибка, модуля «archive» что ли такого нету?

[root@xxx playbooks]# ansible --version ansible 1.9.4 configured module search path = None

ставилось из штатного репозитория CentOS 6.x

Модули эти в полном объеме идут в поставке ? Или их отдельно нужно устанавливать по необходимости?

Или состав модулей меняется от версии к версии и у меня слишком древняя, где такого модуля не было ещё? Просто примеры то смотрю на их сайте, а там описывается текущая версия.

 

karasic
()

Сортировка массива хэшей по определенному полю хэша

Форум — Development

Есть массив @array состоящий из хэшей %hash, в каждом хэше есть поле %hash{id}, как отсортировать хэши в массиве по этому полю?

#!/usr/bin/perl
use strict;
use warnings;

my $a=2;
my $b=5;
my $c=1;
my %hash;
my @array;

%hash=('id'=>$a);
push (@array,{%hash});

%hash=('id'=>$b);
push (@array,{%hash});

%hash=('id'=>$c);
push (@array,{%hash});
          
foreach (@array) {
    print @$_{id}, "\n";
}

exit 0

на выходе имеем.

2 5 1

а надо получить.

1 2 5

 ,

karasic
()

Расшарить локальный принтер Linux по сети из командной строки

Форум — Admin

Есть ли возможность из командной строки выполнить операцию, аналогичную простановке галки в браузере http://127.0.0.1:631->Администрирование->Параметры сервера->Разрешить совместный доступ к принтерам, подключенным к этой системе ?

 

karasic
()

счетчик на perl в терминале, без перевода строки

Форум — Development

Собственно есть следующий код, тупо выводящий счетчик от 0 до 100

print "Счетчик:";
for (my $i=0; $i <= 100; $i++) {
       print "$i\n";
       }

но... хотелось чтобы этот счетчик был в пределах одной строки с 0 позиции, без каких либо движений курсора, подозреваю что вместо escape-последовательности «\n» которая чисто для примера указано, нужно использовать нечто другое сдвигающее курсор влево на этой строке, но что-то не могу найти внятной документации по этому поводу. Такое ваще возможно в перле в режиме терминала?

 

karasic
()

firewalld, firewalld-cmd - визуализация блокированных пакетов

Форум — Admin

пытаюсь разобраться с firewalld из консоли. Не могу найти инфу и примеры по поводу лога блокировки. Например не коннектится извне почтовый клиент по smtp на сервер, пока не тормознешь firewalld, локально на сервере всё ок. Не совсем ясно каким правилом он блочится. Есть в природе какая-нибудь визуализирующая вещь, по аналогии как это сделано в виндовых антивирусах-мэ-экранах типа агнитум, дрвеб, комодо. Чтобы можно было понять что-да это МЭ блочит данное подключение, идущее оттуда-туда?

 

karasic
()

Komodo Activestate IDE

Форум — Development

А случайно никто не знает есть ли возможность в подобном продукте этой же конторы «Komodo Activestate IDE» делать «декодирование на лету» значений переменных в окне отладки, из одной кодовой страницы в другую?

Проблема в том что веду на перле работу с БД, в которой данные хранятся в cp1251, при том что система UTF-8 и когда отлаживаю прогу то записи из таблиц соответственно отображаются в окне каракулями, что затрудняет отладку. Сейчас вставляю в код программы строчки типа print decode(«cp1251» ,$xxx); И в окне вывода программы смотрю, какие значения они принимаю на данный момент в кодировке системы. Но криво это как-то. Может есть где настройка по этому поводу, а я просто не нашел?

 

karasic
()

IFS="" разделитель полей

Форум — Development

Может ли быть разделитель полей в случае переназначения переменной IFS, быть в виде комбинации символов, а не один символ? Например хочу разделитель запятая и за ней пробел IFS=", " На практике не канает, считает что используется два разных разделителя запятая И пробел.

 

karasic
()

yum Скачать пакеты в кэш, но не ставить.

Форум — Admin

CentOS 6.4 Вопрос заключается в следующем, по команде yum update -y происходит поиск новых пакетов, их скачивание и последующая установка, а нужно просто найти новые пакеты и скачать в кэш, не начиная обновление. Такое возможно? В крайних версиях федоры, егойный DNF вроде как умеет так, а в yum-е никаких подобных ключей не нашел.

 

karasic
()

При вставке строки в файл при помощи SED пропадают обратные слэши «\»

Форум — Development
#!/bin/sh
#
str='\"touch /tmp/kill_me;kill -9 %p\""'
echo "Строка для вставки:"$str
sed -i "1 a $str" /tmp/kill.sh

Пытаюсь вставить в файл kill.sh второй строкой подстроку $str она содержит обратные слэши echo правильно выводит на экран: Строка для вставки:\«touch /tmp/kill_me;kill -9 %p\»" а вот после sed-а в файл kill.sh строка попадает уже в таком вот виде: #!/bin/sh «touch /tmp/kill_me;kill -9 %p»" #

т.е. символы «\» отсутствуют

 ,

karasic
()

Получение разницы между датами bash

Форум — General

Проблема по мотивам архивного сообщения Получение разницы между датами

Необходимо получить разницу в количестве месяцев между двумя датами вида dd/mm/yyyy

current_date=`date +%d/%m/%Y`

before_date=«01/01/1980»

SDIFF=$((`date -d «$current_date» '+%s'` - `date -d «$before_date» '+%s'`))

echo $SDIFF

Собственно проблема что date никак не воспринимает формат dd/mm/yyyy и ругается «date: неверная дата «31/12/2015»» Аналогичная ошибка у меня и в примере, которое приведено в том архивном сообщении, которое якобы работало в далеком 2007 году.

Система РедХат 6

 ,

karasic
()

Раздача IP адресов DHCP сервером, находящимся в другой подсети.

Форум — Admin

Имеется локальная сеть состоящая из сервера (центос) адрес 10.xx.104.35/27 шлюз 10.xx.104.33 и рабочих станций: 10.xx.105.128/25 шлюз 10.xx.105.129 Всё это подключено к «маршрутизатору» который и занимается пересылкой пакетов между сервером и станциями.

Хочу чтобы сервер раздавал ip адреса станциям посредством dhcp При настройке DHCP на раздачу адресов диапазона 10.xx.105.128/25 с интерфейса сервера 10.xx.104.35 - сервис dhcpd не запускается с ошибкой:

Nov 25 16:40:41 xxxx dhcpd: No subnet declaration for eth0 (10.xx.104.35). Nov 25 16:40:41 xxxx dhcpd: ** Ignoring requests on eth0. If this is not what Nov 25 16:40:41 xxxx dhcpd: you want, please write a subnet declaration Nov 25 16:40:41 xxxx dhcpd: in your dhcpd.conf file for the network segment Nov 25 16:40:41 xxxx dhcpd: to which interface eth0 is attached. **

Т.е. как я понимаю ip адрес интерфейс-а сервера не входит в диапазон который пытается раздавать для станций. Как быть? Адресацию сервера и станций менять нельзя. Предполагаю что может быть нужно поднять бридж на сервере и привязать его к двум виртуальным интерфейсам: один текущий ip сервера а второй адрес из адресного пространства «станций»?

 ,

karasic
()

Удалить лишний «мусор» из файла...

Форум — Development

Есть xml и csv файл в конце которых присутствует эцп (выглядит как мусор в тексте), перед разбором файла нужно этот мусор вырезать

с xml-ом хочу оставить содержимое до последнего тега </end_file> sed -i '/<\/end_file>,$d' file.xml но проблема в том что и сам последний тег </end_file> тоже вырезается нахрен вместе с мусором, а его нужно оставить, и второй более сложный для меня вариант с csv, если строка в файле начинается не с ; при просмотре с начала файла то её и все последующие строки до конца файла удалить, не зависимо от того с чего они будут начинаться, даже если вдруг и с ; той-же самой.

 

karasic
()

Perl, прерывается выполнение программы при невозможности подключения к БД

Форум — Development

Собственно нужно в цикле опросить несколько серверов БД Firebird, если нет подключения к серверу, то выводим сообщение о недоступности и переходим к следующему серверу БД. Слепил вот такой вот говно-код, т.к. програмлю на перле впервые, после подключения к заведомо неработающему серверу строкой $dbh=DBI->connect($dsn, $user, $spassword) появляется ошибка (DBI connect('hostname=192.168.1.2/3051;db=database;win1251','sysdba',...) failed: can't format message 13:98 — message system code -4 -Unable to complete network request to host «192.168.1.2». -Failed to establish a connection. at ./6.sh line 67. ) и работа программы просто прерывается, хотя стоит задача, выявить невозможность подключения и перейти к следующему серверу БД. Пока сервера БД доступны, цикл обрабатывается без сбоев.

#!/usr/bin/perl
use strict;
use warnings;
use DBI;
my $user="sysdba";
my $password="masterkey";
my @hosts="192.168.1.1","192.168.1.2","192.168.1.3";
my $dbport="3051";
my $db="database";
my $ib_charset="win1251";

my $i;
for ($i=0; $i<@hosts; $i++) {

my $dsn="dbi:Firebird:hostname=${hosts[$i]}/$dbport;db=${db};$ib_charset";
my $dbh;
   if ($dbh=DBI->connect($dsn, $user, $spassword)) {
	    print "Соединение с БД ${hosts[$i]} по порту tcp/$dbport успешно установлено\n"; 
	    } else {
	    print "Соединение с БД ${hosts[$i]} по порту tcp/$dbport не установлено, возможно сервер БД не запущен или доступ к нему блокируется МЭ\n";
	    }
		
$dbh->disconnect;

}
exit;

 , ,

karasic
()

RSS подписка на новые темы