не отрабатывает скрипт для вытягивания данных из SVN

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Аватара пользователя
noize
Сообщения: 164
ОС: Debian

не отрабатывает скрипт для вытягивания данных из SVN

Сообщение noize »

Всем доброго дня. Имею хранилище svn, в котором хранится веб-интерфейс для управления астериском. Программеры периодически коммитят туда изменения. Сам сервер с интерфейсом стоит удалённо и периодически вытягивает изменения из svn. В проекте две ветки branches и trunk. В branches для каждого разраба своя директория, из которой они мёрджат в транк. На сервере с веб-мордой раз в 2 минуты запускается скрипт, который должен вытягивать изменения для всех бренчей и для транка. Скрипт такой:

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

#!/bin/sh
SVN='/usr/bin/svn'
cd '/var/www/asterisk'
DIR=`ls ./ | grep '^[bt]'`
for subdir in $DIR
do
        if [[ $subdir == trunk ]]
        then
                `echo $subdir >> /tmp/123`
                `cd ./trunk && $SVN update >> /tmp/123`
        elif [[ "$subdir" == "branches" ]]
        then
                `echo $subdir >> /tmp/123`
                BRANCH=`ls ./$subdir | grep '^\w'`
                for branches in $BRANCH
                do
                        `echo $branches >> /tmp/123`
                        `cd ./$subdir/$branches && $SVN update >> /tmp/123`
                done
        fi
done

exit 0

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

P. S. Система - Debian Lenny, версия subversion - 1.6.12, проблема была и на версии 1.5
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: не отрабатывает скрипт для вытягивания данных из SVN

Сообщение serzh-z »

noize писал(а):
24.01.2011 12:56
Уже даже и не знаю, что думать, буду благодарен за помощь.
С правами записи в каталог, надо полагать, проблемы и с $HOME. Если крон запущен от рута, то проблема может быть в авторизации SVN: он использует ~/.subversion/auth (которого у рута нет или он содержит совсем другие параметры авторизации).
Спасибо сказали:
Аватара пользователя
noize
Сообщения: 164
ОС: Debian

Re: не отрабатывает скрипт для вытягивания данных из SVN

Сообщение noize »

крон запускал так

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

*/2 *   * * *   root    /space/scripts/svn_check_www.sh

и так

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

HOME=/root
*/2 *   * * *   root    /space/scripts/svn_check_www.sh


svn работает через http. На сервере авторизация идёт по имени root
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: не отрабатывает скрипт для вытягивания данных из SVN

Сообщение serzh-z »

noize
Каталог /root/.subversion/auth есть? И есть ли каталог /home/юзер/.subversion/auth (где "юзер" - этот пользователь от коготорого всё работает)?
Спасибо сказали:
Аватара пользователя
noize
Сообщения: 164
ОС: Debian

Re: не отрабатывает скрипт для вытягивания данных из SVN

Сообщение noize »

Каталог есть. Сказать по правде, "юзера, под которым всё работает" нету. Скрипт всегда запускал от имени рута
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: не отрабатывает скрипт для вытягивания данных из SVN

Сообщение watashiwa_daredeska »

MTA животворящий поможет отлаживать скрипты в cron. Либо смотреть в /var/log/syslog, туда тоже выплёвывается stdout+stderr скриптов.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: не отрабатывает скрипт для вытягивания данных из SVN

Сообщение watashiwa_daredeska »

watashiwa_darede... писал(а):
24.01.2011 18:50
Либо смотреть в /var/log/syslog, туда тоже выплёвывается stdout+stderr скриптов.
Ошибся. Не пишет. Только запуск и, при определенных настройках, останов. Вывод скриптов только на почту.
Спасибо сказали:
Аватара пользователя
noize
Сообщения: 164
ОС: Debian

Re: не отрабатывает скрипт для вытягивания данных из SVN

Сообщение noize »

Закинул на svn-сервере всех пользователей в базу. В файле dav_svn.conf прописал :

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

<Location /svn>
DAV svn
SVNParentPath /space/svn
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
  AuthBasicAuthoritative Off
  AuthType Basic
  AuthName "Test SVN Repository"
  AuthUserFile "/dev/null"

  Auth_PG_hash_type md5
  Auth_PG_host localhost
  Auth_PG_port 5432
  Auth_PG_user <login>
  Auth_PG_pwd <password>
  Auth_PG_database subversion
  Auth_PG_pwd_table svnuser
  Auth_PG_uid_field login
  Auth_PG_pwd_field password
  Auth_PG_cache_passwords on
 Require valid-user
</Location>


На машине, которая вытягивает данные в /root/.subversion/servers прописал

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

[global]
store-passwords = yes
store-plaintext-passwords = yes

[groups]
group1 = *.<serv>.ru
[group1]
store-passwords = yes
store-plaintext-passwords = yes

В скрипте в команде svn update явно указал --username root --password <pwd>
Теперь в логах наблюдаю такое:

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

-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

   <http://svn.serv.ru:80> Test SVN Repository

can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible.  See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? svn: Can't read stdin: End of file found

Как это можно понимать? Ведь в опция 'store-plaintext-passwords' указана :scratch:

Update:
Сорри, не в тот файл вносил изменения, потому и ругался.
Спасибо сказали:
Аватара пользователя
noize
Сообщения: 164
ОС: Debian

Re: не отрабатывает скрипт для вытягивания данных из SVN

Сообщение noize »

Всё, камрады, спасибо большое за помощь, разобрался. Судя из лога, проблема была в

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

svn: Can't convert string from native encoding to 'UTF-8':
svn: ?\208?\154?\208?\190?\208?\191?\208?\184?\209?\143 jquery.js
svn: Can't convert string from native encoding to 'UTF-8':
svn: ?\208?\154?\208?\190?\208?\191?\208?\184?\209?\143 jquery.js
At revision 1378.
At revision 1378.
svn: Can't convert string from native encoding to 'UTF-8':
svn: ?\208?\154?\208?\190?\208?\191?\208?\184?\209?\143 jquery.js

Добавил в начало скрипта строчку

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

export LC_CTYPE="en_US.UTF-8"

И всё заработало.
Спасибо сказали:
Dr.Norfolk
Сообщения: 3

Re: не отрабатывает скрипт для вытягивания данных из SVN

Сообщение Dr.Norfolk »

Приветствую форумчан!
Нужно помощь по решения схожей с темой проблемы.

История такая же: необходимо выгружать данные из svn, но только по средствам php и выводить их на страничку.
Делаю сие пхп-шной функцией svn_cat(). При выполнении запроса в лог апача складывается сообщение:

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

PHP Warning: in file /var/www/mysite/sview.php on line 70: svn_cat(): svn error(s) occured 22 (Invalid argument) Can't convert string from native encoding to 'UTF-8': 22 (Invalid argument) http://172.16.25.22/svn/Texts/002.?/208?/154?/208?/190?/208?/188?/208?/191?/209?/128?/208?/190?/208?/188?/208?/184?/209?/129?/209?/129?/209?/139.txt

указывая на проблему с кодировкой - не принимает никак русские буквы.
Может кто-то работал с этой функций, подскажет?
Все полезное из гугла пробовал - не помогуло.
Если нужно будет рассказать поподробнее, расскажу!
Спасибо сказали:
Dr.Norfolk
Сообщения: 3

Re: не отрабатывает скрипт для вытягивания данных из SVN

Сообщение Dr.Norfolk »

К сожалению по этому вопросу везде тишина.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5405
ОС: Gentoo

Re: не отрабатывает скрипт для вытягивания данных из SVN

Сообщение /dev/random »

Это:
http://stackoverflow.com/questions/2116718...coding-to-utf-8
не помогает или не нашли?
Спасибо сказали:
Dr.Norfolk
Сообщения: 3

Re: не отрабатывает скрипт для вытягивания данных из SVN

Сообщение Dr.Norfolk »

Делал

$ export LC_CTYPE=en_US.UTF-8

Безрезультатно.
Конкретно эту страничку не встречал. Я так понял там примерно об этом и есть?
Спасибо сказали: