Page 1 of 1

shell-init: error retrieving current directory: getcwd: cann

Posted: Mon Apr 29, 2013 4:16 pm
by Sattva
Проблема:

Code: Select all

/var/log/vesta/backup.log
пугает таким ругательством:

Code: Select all

shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
OS: CentOS 6.3

Анализ:
После некоторых манипуляций с MySQL в терминальном режиме, стала появляться ошибка в логах:

Code: Select all

/var/log/vesta/backup.log
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
Что я сделал с MySQL не ясно, но ошибка есть.

Решение:
Как выяснилось, сменил root пароль на MySQL.
В файле

Code: Select all

/usr/local/vesta/conf/mysql.conf
наблюдаем

Code: Select all

HOST='localhost' USER='root' PASSWORD='CsMwn2hm5K' CHARSETS='UTF8,LA....
Меняем PASSWORD и все работает.

В благодарность за разработку панели VESTA делюсь проблемой и ее решением. Уверен, что я не последний, кто наступил на эти грабли.

А теперь подробнее анализ.

1. Очевидно, что проблема была связана с backup функцией (скриптами) VESTA панели.

2. Скрипт, который делает backup для юзера выглядит так:

Code: Select all

/usr/local/vesta/bin/v-backup-user USER
USER - имя юзера в панели VESTA.

3. Посмотрим при помощи sh -x в каком месте возникает эта ошибка и при каких обстоятельствах:

Code: Select all

sh -x /usr/local/vesta/bin/v-backup-user admin
---
+ mysql -h localhost -u root -pCsMwn2hm5K -e 'SELECT VERSION()'
+ '[' 0 -ne 1 ']'
+ rm -rf /backup/tmp.wjlxhrhcCo
+ /usr/local/vesta/web/inc/mail-wrapper.php -s 'alexey → backup failed' [email protected]
+ echo 'Can'\''t connect to mysql server localhost'
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
4. Четко видно это безобразие:

Code: Select all

mysql -h localhost -u root -pCsMwn2hm5K -e 'SELECT VERSION()'
Безобразие потому, что пароль этот я не назначал.
По ходу, где-то видел этот пароль CsMwn2hm5K в конфигах VESTA.

5. Идем в:

Code: Select all

/usr/local/vesta/conf/mysql.conf
и видим:

Code: Select all

HOST='localhost' USER='root' PASSWORD='CsMwn2hm5K' CHARSETS='UTF8,LA....
6. Правим пароль на реальный для root и проверяем результат:

Code: Select all

sh /usr/local/vesta/bin/v-backup-users
7. Теперь

Code: Select all

/var/log/vesta/backup.log
выглядит прелестно!

Code: Select all

================================
admin
--------------------------------

-- DB --
2013-04-29 18:28:21 mysql admin_default
2013-04-29 18:28:21 1 database

-- SUMMARY --
2013-04-29 18:28:22 Deleted old backup: admin.2013-04-29.tar
2013-04-29 18:28:29 Archived: /backup/admin.2013-04-29.tar
2013-04-29 18:28:31 Size: 940 Mb
2013-04-29 18:28:31 RUNTIME: 1 minute

--------------------------------
Чего мы и добивались. ;-)

Re: shell-init: error retrieving current directory: getcwd:

Posted: Mon Apr 29, 2013 4:18 pm
by Sattva
skid,
предложенный вами
http://c.vestacp.com/0.9.7/apc.ini
я сегодня изучу и сравню с тем, что уже сделал.
В любом случае спасибо за поддержку!
Интересно, что вдохновляет людей создавать подобные шедевры...
Желаю побольше вам платных клиентов на обслуживание!