Как восстановить базу postgrey.db?

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Termitnik
сержант
Сообщения: 169
Зарегистрирован: 2008-04-05 20:09:45
Откуда: Киев

Как восстановить базу postgrey.db?

Непрочитанное сообщение Termitnik » 2013-04-15 16:52:11

Перестал запускаться postgrey. Если сделать бекап /var/db/postgrey и удалить все в этой директории, то postgrey запускается, иначе валится с такой ошибкой

Код: Выделить всё

postgrey[69128]: FATAL: ERROR: can't create DB environment: Permission denied (dbdir: /var/db/postgrey uid/gid: 225,225)
Как заставить postgrey работать с старой базой?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

ChihPih
ст. прапорщик
Сообщения: 568
Зарегистрирован: 2009-09-04 12:23:30
Откуда: Где-то в России...
Контактная информация:

Re: Как восстановить базу postgrey.db?

Непрочитанное сообщение ChihPih » 2013-04-15 17:57:07

Termitnik писал(а):Перестал запускаться postgrey.
И после чего оно произошло?
www.info-x.org - информационный ресурс о ОС FreeBSD.

Termitnik
сержант
Сообщения: 169
Зарегистрирован: 2008-04-05 20:09:45
Откуда: Киев

Re: Как восстановить базу postgrey.db?

Непрочитанное сообщение Termitnik » 2013-04-15 18:37:09

Тяжело сказать, перед возникновением проблемы к серверу никто не прикасался несколько месяцев

rayder
лейтенант
Сообщения: 661
Зарегистрирован: 2008-12-18 16:29:43
Откуда: Ukraine/Kiev
Контактная информация:

Re: Как восстановить базу postgrey.db?

Непрочитанное сообщение rayder » 2013-04-15 21:20:04

Код: Выделить всё

Permission denied
а с правами на "dbdir: /var/db/postgrey"там точно все в порядке?
вы не написали, потому и спрашиваю.
Человеку свойственно ошибаться, но для нечеловеческих ляпов нужен компьютер.

Termitnik
сержант
Сообщения: 169
Зарегистрирован: 2008-04-05 20:09:45
Откуда: Киев

Re: Как восстановить базу postgrey.db?

Непрочитанное сообщение Termitnik » 2013-04-15 22:32:38

да вроде

Код: Выделить всё

ls -d /var/db/postgrey/
drwxr-xr-x  2 postgrey  postgrey  -  512B Apr 15 16:14 /var/db/postgrey/

ChihPih
ст. прапорщик
Сообщения: 568
Зарегистрирован: 2009-09-04 12:23:30
Откуда: Где-то в России...
Контактная информация:

Re: Как восстановить базу postgrey.db?

Непрочитанное сообщение ChihPih » 2013-04-15 22:41:10

Код: Выделить всё

id postgrey
?
www.info-x.org - информационный ресурс о ОС FreeBSD.

Termitnik
сержант
Сообщения: 169
Зарегистрирован: 2008-04-05 20:09:45
Откуда: Киев

Re: Как восстановить базу postgrey.db?

Непрочитанное сообщение Termitnik » 2013-04-15 22:48:08

Код: Выделить всё

id postgrey
uid=225(postgrey) gid=225(postgrey) groups=225(postgrey)

rayder
лейтенант
Сообщения: 661
Зарегистрирован: 2008-12-18 16:29:43
Откуда: Ukraine/Kiev
Контактная информация:

Re: Как восстановить базу postgrey.db?

Непрочитанное сообщение rayder » 2013-04-16 0:47:19

уточнение, а на все что в /var/db/postgrey/ как с правами? при восстановлени из бекапа могут рутовые права остаться.
обновлений точно никаких не было(не обязательно самого postgrey. например perl)?
Человеку свойственно ошибаться, но для нечеловеческих ляпов нужен компьютер.

Termitnik
сержант
Сообщения: 169
Зарегистрирован: 2008-04-05 20:09:45
Откуда: Киев

Re: Как восстановить базу postgrey.db?

Непрочитанное сообщение Termitnik » 2013-04-16 1:15:09

Повторил последовательность действий: теперь другая ошибка в логе

Код: Выделить всё

Apr 16 01:13:47 ns2 postgrey[13675]: FATAL: ERROR: can't create DB environment: No such file or directory (dbdir: /var/db/postgrey uid/gid: 225,225)

[/dev/pts/4]root@ns2:/usr/local/www# ls -d /var/db/postgrey/
drwxr-xr-x  2 postgrey  postgrey  -  512B Apr 16 01:13 /var/db/postgrey/
[/dev/pts/4]root@ns2:/usr/local/www# ls /var/db/postgrey/
total 70080
-rw-------  1 postgrey  postgrey  -   10M Apr 16 01:12 log.0000000099
-rw-------  1 postgrey  postgrey  -   22M Apr 16 01:12 postgrey.db
-rw-------  1 postgrey  postgrey  -    0B Apr 16 01:12 postgrey.lock
-rw-------  1 postgrey  postgrey  -  2,7M Apr 16 01:12 postgrey_clients.db

Termitnik
сержант
Сообщения: 169
Зарегистрирован: 2008-04-05 20:09:45
Откуда: Киев

Re: Как восстановить базу postgrey.db?

Непрочитанное сообщение Termitnik » 2013-04-16 13:14:34

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

Код: Выделить всё

cat berk.pl
#!/usr/bin/perl
use BerkeleyDB;
my %hash;
tie %hash, 'BerkeleyDB::Btree',
              -Filename      => $ARGV[0];
print "START";
foreach (%hash)
{
print $_;
print "\n";
}

Код: Выделить всё

~/berk.pl ~/postgreydb_backup/postgrey.db
....
92.243.76.0/bp@hazti.com.ua/me@termit.ln.ua
1359938611,1359942325,179
94.100.176.0/kavlusha@mail.ru/me@termit.ln.ua
1358426046,1359984347,18
94.100.176.0/nata999.#@mail.ru/me@termit.ln.ua
1362167123,1362168914,87
94.100.178.0/nata999.#@mail.ru/me@termit.ln.ua
1362167121,1362167121,74
....
Кроме того, обратил внимание, что содержимое новой и старой дирекиторий отличается
ls /var/db/postgrey/
total 21648
-rw------- 1 postgrey postgrey - 24K Apr 16 13:02 __db.001
-rw------- 1 postgrey postgrey - 48K Apr 16 13:02 __db.002
-rw------- 1 postgrey postgrey - 264K Apr 16 13:02 __db.003
-rw------- 1 postgrey postgrey - 96K Apr 16 13:02 __db.004
-rw------- 1 postgrey postgrey - 48K Apr 16 13:02 __db.005
-rw------- 1 postgrey postgrey - 10M Apr 16 13:02 log.0000000001
-rw------- 1 postgrey postgrey - 32K Apr 16 13:02 postgrey.db
-rw------- 1 postgrey postgrey - 0B Apr 16 13:02 postgrey.lock
-rw------- 1 postgrey postgrey - 32K Apr 16 13:02 postgrey_clients.db

ls postgreydb_backup/
total 70080
-rw------- 1 postgrey postgrey - 10M Apr 11 16:52 log.0000000099
-rw------- 1 postgrey postgrey - 22M Apr 11 16:52 postgrey.db
-rw------- 1 postgrey postgrey - 0B Apr 11 16:52 postgrey.lock
-rw------- 1 postgrey postgrey - 2,7M Apr 11 16:52 postgrey_clients.db

moury
сержант
Сообщения: 249
Зарегистрирован: 2009-02-06 23:02:40
Откуда: Москва
Контактная информация:

Re: Как восстановить базу postgrey.db?

Непрочитанное сообщение moury » 2013-05-19 11:39:47

Может, я после долгого отсутствия стал наивен, но зачем вообще восстанавливать базу postgrey из бекапа? При запуске сама восстановится. Postgrey - не та программа, чтобы на нее время тратить.

Для нее главное - бекап связанных с ней конфигов.
Сисадмин - вождь апачей