LINUX.ORG.RU

Сообщения ky4k0b

 

Сравнить два больших текстовых файла

Форум — Development

Всем привет. Есть достаточно простая задача для знающих людей. И поскольку я сам программировать не умею, то прошу помощи.

Есть текстовые файлы 1.log (100KB) и a.log b.log c.log (по 600МБ каждый) итд

1.log это столбец из цифр (пример http://78.47.220.147/kea/work/1.log)

a.log это логи в формате:

foo rlist <29092 28550 23112 22112 12717 2581 32229 32377 32846 10771 17850 19984 33370 28010 27560 16476 16478 19134 >bar

(пример http://78.47.220.147/kea/work/a.log)

Мне нужно две вещи:

1) Найти все значения из 1.log, которых нет внутри rlist в a.log b.log c.log итд

2) Посчитать сколько повторений во всех файлах по каждому значению в rlist

Для первой части я написал строчку на баше с sed, sort, uniq и diff, но она работает только для малого количества данных (мои файлы обрабатываются невыносимо долго)

За помощь буду готов отблагодарить.

 

ky4k0b
()

Exim4 + DKIM

Форум — Admin

Уже который день бьюсь с почтой - никак не могу добавить заголовки dkim. Поэтому прошу помощи. Сгенерил ключи, добавил их в днс:

support:/etc/exim4/dkim# ll
/etc/exim4/dkim
total 16K
drwxr-xr-x 4 root        root        4.0K Dec 30 14:55 ..
-rw-r----- 1 Debian-exim Debian-exim  887 Jan 21 22:39 mmdsmart.com.key
-rw-r----- 1 Debian-exim Debian-exim  299 Jan 21 22:39 mail.txt
drwxr-xr-x 2 Debian-exim Debian-exim 4.0K Jan 21 22:42 .
support:/etc/exim4/dkim# openssl rsa -in mmdsmart.com.key -pubout
writing RSA key
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC6HZSRvbNUuWnQEVSY5MfSWEn+
BkgcKD2bA0IOrIgiUef93QdpTDqU1zmVg2ozfBUfWx5gqhmvpt0pg7urClWCvEZn
hOfR8mLatgTCs5BuPCVFNbAwKbsahwQ6JYxCcieaCpRP3roqPdbcU1qGhEkyECu1
hQ7nnIEejYXIpC4l9wIDAQAB
-----END PUBLIC KEY-----
support:/etc/exim4/dkim# cat mail.txt
mail._domainkey IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC6HZSRvbNUuWnQEVSY5MfSWEn+BkgcKD2bA0IOrIgiUef93QdpTDqU1zmVg2ozfBUfWx5gqhmvpt0pg7urClWCvEZnhOfR8mLatgTCs5BuPCVFNbAwKbsahwQ6JYxCcieaCpRP3roqPdbcU1qGhEkyECu1hQ7nnIEejYXIpC4l9wIDAQAB" ; ----- DKIM key mail for mmdsmart.com
support:/etc/exim4/dkim# dig txt mail._domainkey.mmdsmart.com

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> txt mail._domainkey.mmdsmart.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20983
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;mail._domainkey.mmdsmart.com.	IN	TXT

;; ANSWER SECTION:
mail._domainkey.mmdsmart.com. 1603 IN	TXT	"v=DKIM1\; k=rsa\; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC6HZSRvbNUuWnQEVSY5MfSWEn+BkgcKD2bA0IOrIgiUef93QdpTDqU1zmVg2ozfBUfWx5gqhmvpt0pg7urClWCvEZnhOfR8mLatgTCs5BuPCVFNbAwKbsahwQ6JYxCcieaCpRP3roqPdbcU1qGhEkyECu1hQ7nnIEejYXIpC4l9wIDAQAB"

;; Query time: 2 msec
;; SERVER: 77.247.176.114#53(77.247.176.114)
;; WHEN: Wed Jan 21 23:14:52 2015
;; MSG SIZE  rcvd: 293

Дальше по одному из миллиона мануалов «exim+dkim+debain» правлю транспорт в exim4.conf.template

remote_smtp:
  debug_print = "T: remote_smtp for $local_part@$domain"
  driver = smtp
  interface = ${lookup{$sender_address_domain}lsearch{/etc/exim4/interfaces}{$value}{109.201.138.161}}
.ifdef REMOTE_SMTP_HOSTS_AVOID_TLS
  hosts_avoid_tls = REMOTE_SMTP_HOSTS_AVOID_TLS
.endif
.ifdef REMOTE_SMTP_HEADERS_REWRITE
  headers_rewrite = REMOTE_SMTP_HEADERS_REWRITE
.endif
.ifdef REMOTE_SMTP_RETURN_PATH
  return_path = REMOTE_SMTP_RETURN_PATH
.endif
.ifdef REMOTE_SMTP_HELO_DATA
  helo_data=${lookup{$sending_ip_address}lsearch{/etc/exim4/mailhelo}{$value}{mmdsmart.com}}
.endif
.ifdef DKIM_DOMAIN
DKIM_DOMAIN = ${lc:${domain:$h_from:}}
.endif
.ifdef DKIM_SELECTOR
dkim_selector = mail
.endif
.ifdef DKIM_PRIVATE_KEY
DKIM_PRIVATE_KEY = /etc/exim4/dkim/${lc:${domain:$h_from:}}.key
.endif
.ifdef DKIM_CANON
dkim_canon = simple
.endif
.ifdef DKIM_STRICT
dkim_strict = DKIM_STRICT
.endif
.ifdef DKIM_SIGN_HEADERS
dkim_sign_headers = DKIM_SIGN_HEADERS
.endif
.ifdef TLS_DH_MIN_BITS
tls_dh_min_bits = TLS_DH_MIN_BITS
.endif
Рестартую exim, отправляю письмо и все равно заголовки не приходят. Где накосячил?

 , ,

ky4k0b
()

выбор интерфйса в exim4 на основе From

Форум — Admin

Есть сервер с двумя интерфейсами: 1.1.1.1 и 2.2.2.2

На нем стоит два софта, которые отправляют письма через exim. Закономерно, что все письма уходят с 1.1.1.1. Мне надо чтобы для второго софта все отправлялось с адреса 2.2.2.2. Можно сделать фильтрацию по полю From

Подскажите, можно ли настроить такую схему в exim. Если да, то где?

 

ky4k0b
()

Очередной вопрос по awk

Форум — Development

Есть входной набор данных:

«1»;«2»;«3»;«4»;«5»;«6»;«7»;«8»;«9»;"";«11»;«12»;«13»;«14»;«15»;«16»;«Viber In»;«1» «1»;«2»;«3»;«4»;«5»;«6»;«7»;«8»;«9»;«10»;«11»;«12»;«13»;«14»;«15»;«16»;«17»;«2» «1»;«2»;«3»;«4»;«0010remove»;«6»;«7»;«8»;«9»;"";«11»;«12»;«13»;«14»;«15»;«16»;«17»;«3» «1»;«2»;«3»;«4»;«5»;«6»;«7»;«$%dlkj1234567»;«9»;«10»;«11»;«12»;«13»;«14»;«15»;«16»;«Skyline (wl)»;«4» «1»;«2»;«3»;«4»;«5»;«6»;«7»;«8»;«9»;«10»;«11»;«12»;«13»;«14»;«15»;«16»;«17»;«5» «1»;«2»;«3»;«4»;«not0010remove»;«6»;«7»;«8»;«9»;"";«11»;«12»;«13»;«14»;«15»;«16»;«17»;«6» «1»;«2»;«3»;«4»;«5»;«6»;«7»;«8»;«9»;«10»;«11»;«12»;«13»;«14»;«15»;«16»;«17»;«7»

есть авк скрипт:

awk 'BEGIN {OFS=FS=";"} {if (!(($5 == "\"\"") || (($17 == "\"Viber In\""||$5 ~ /0010/) && $10 == "\"\""))) print}'

Проблема в том, что мне надо выпиливать строку №3, и оставлять №6. Но с текущим условием скрипт удаляет обе. Если заменить на

$5 ~ /^0010/
, то ничего не происходит.

Как быть?

 

ky4k0b
()

Get proper Use% value from df and snmp

Форум — Admin

1) Почему снмп показывает неправильные значения для Size и Used на /pg2?

2) Почему дф не совпадает с тем, что показывает снмп для Use%? И вообще, как правильно считать процент занятого места для / - 3976351600/(39763516+222817056) или 3976351600/276632768?

5g-logs:~# df;snmpwalk -c community -v 2c localhost  1.3.6.1.4.1.2021.9
Filesystem                                              1K-blocks       Used Available Use% Mounted on
rootfs                                                  276632768   39763516 222817056  16% /
udev                                                        10240          0     10240   0% /dev
tmpfs                                                     3714788        224   3714564   1% /run
/dev/disk/by-uuid/421e4499-a643-44bf-b16e-27a4d692cad4  276632768   39763516 222817056  16% /
tmpfs                                                        5120          0      5120   0% /run/lock
tmpfs                                                     9807500         12   9807488   1% /run/shm
/dev/sdb1                                              2884252896 2685076804  52664476  99% /pg2
iso.3.6.1.4.1.2021.9.1.1.1 = INTEGER: 1
iso.3.6.1.4.1.2021.9.1.1.2 = INTEGER: 2
--lines-removed 
iso.3.6.1.4.1.2021.9.1.2.1 = STRING: "/"
iso.3.6.1.4.1.2021.9.1.2.2 = STRING: "/pg2"
--lines-removed
iso.3.6.1.4.1.2021.9.1.6.1 = INTEGER: 276632768
iso.3.6.1.4.1.2021.9.1.6.2 = INTEGER: 2147483647
--lines-removed
iso.3.6.1.4.1.2021.9.1.7.1 = INTEGER: 222817072
iso.3.6.1.4.1.2021.9.1.7.2 = INTEGER: 52664476
--lines-removed
iso.3.6.1.4.1.2021.9.1.8.1 = INTEGER: 39763504
iso.3.6.1.4.1.2021.9.1.8.2 = INTEGER: 2147483647
--lines-removed
iso.3.6.1.4.1.2021.9.1.9.1 = INTEGER: 15
iso.3.6.1.4.1.2021.9.1.9.2 = INTEGER: 98

ky4k0b
()

500 два простых скрипта bash/awk

Форум — Job

мне по работе надо сделать два костыля по парсингу текстового файла. Знающему человеку работы на 30 минут.

тз по скайпу ky4k0b или почте ky4k0b@гмейлдотком

ky4k0b
()

вопрос по awk

Форум — Development

всем привет!

появился вопрос - как с помощью awk можно из входных трех строк:

1,2,3,4

a,b,3,4

x,y,z,4

сделать группировку по двум полям (то есть из первых двух строк получить одну новую) и получить на выходе:

1,b,3,4

x,y,z,4

ky4k0b
()

добавление сервера в лан через нат

Форум — Admin

всем привет!

на текущий момент имеется сеть, в которой свитч и несколько серверов в одном влане. Есть серая сеть 10.10.10.0/24 (весь интерконнект между машинами настроен по ней) и белая с выходом в мир.

Теперь я хочу в эту конфигурацию воткнуть еще один сервер вообще из другого коло. Я поднимаю на нем алиас с серым адресом из 10.10.10.0.

Вопрос такой - можно ли с помощью iptables и ip route настроить новый сервер так, чтобы все остальные приняли его за «своего»?

Я немного запутался в этом вопросе потому что не нашел как сделать snat в прераутинге.

ky4k0b
()

скрипт bash/sed/awk

Форум — Development

приветствую!

ищу того, кто легко сможет написать простенький скрипт, ибо сам я не очень хорошо разбираюсь

задача такая - написать баш скрипт, который бы парсил csv и удалял в ней строки по условию.

Файл состоит из строк вида:

«1»;«2»;«3»;«4»;«5»;«6»;«7»;«8»;«9»;«10»;«11»;«12»;«13»;«14»;«15»;«16»;«17»;«18»

условия такие:

если пятый столбец null (вот так «4»;"";«6»), то удалить эту строку

если 17 = «example» и 13 = «262647», то удалить строку

заранее спасибо

ky4k0b
()

настройка неординарной схемы репликации mysql

Форум — Admin

всем привет!

настроил 4 сервера, которые по парам работают мастер-мастер. M1 <-> M2 M3 <-> M4 в repl.cnf прописано какая база и какие таблицы реплицируются, а какие ингорятся.

Теперь понадобилось, чтобы с М1 на М3 и М4 реплицировались только две таблицы, то есть добавить связку M1 -> S3,S4

Подскажите, пожалуйста, как это правильно настроить. Заранее спасибо

ps: видел топик [mysql] помогите разобраться с master-master-slave репликацией но у меня немного другая схема

 ,

ky4k0b
()

crontab failed with exit status 12

Форум — Admin
May  8 01:00:01 mvtspro-main /USR/SBIN/CRON[22645]: (root) CMD (/usr/local/ky4k0b/cdrs_backup_daily.sh)
May  8 01:00:01 mvtspro-main /USR/SBIN/CRON[22638]: (CRON) error (grandchild #22645 failed with exit status 12)
mvtspro-main:/cdrs/backup# cat /etc/crontab
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
25 6    * * *   root    ntpdate pool.ntp.org
0 1 * * *       root    /usr/local/ky4k0b/cdrs_backup_daily.sh
0 2 1 * *       root    /usr/local/ky4k0b/cdrs_backup_monthly.sh
0 3 1 * *       root    /usr/local/lib/mvtspro/backupdb.php
mvtspro-main:/cdrs/backup# cat /usr/local/ky4k0b/cdrs_backup_daily.sh
#!/bin/sh
mask=`date --date="yesterday" +%Y%m%d\*`
arch_name=`date --date="yesterday" +%Y%m%d`
find /cdrs -type f -name "$mask"|zip -m /cdrs/backup/$arch_name.zip -@

вручную скрипт отрабатывает. Где косяк? спасибо

 ,

ky4k0b
()

отрезать кусок от главного раздела

Форум — Admin

Всем привет! При установке Oracle Linux человек неправильно разбил диск - все запилил в один раздел:

[root@localhost /]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             533G  4.6G  501G   1% /
tmpfs                  16G     0   16G   0% /dev/shm
/dev/sda1             2.0G  106M  1.8G   6% /boot

[root@localhost /]# fdisk -l

Disk /dev/sda: 599.9 GB, 599932844032 bytes
255 heads, 63 sectors/track, 72937 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00081ce3

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         262     2097152   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2             262        2350    16777216   82  Linux swap / Solaris
/dev/sda3            2350       72938   566995968   83  Linux
мне надо оставить под / 50Гб, а все остальное переразбить. Как можно организовать это все?

ps: переустанавливать ось не очень хочется, ибо доступ есть только через квм. Флешку вставить возможности нет, как и диск в привод, а первый grub вроде не умеет грузиться с iso (насколько я знаю).

Спасибо!

 ,

ky4k0b
()

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