Автор Тема: svn update с cronjob  (Прочетена 1430 пъти)

galileo

  • Напреднали
  • *****
  • Публикации: 21
  • Distribution: Kubuntu
  • Window Manager: KDE
    • Профил
svn update с cronjob
« -: Oct 23, 2009, 02:02 »
Цяла вечер се мъча да пусна един крон, който да ъпдейтва от svn repository защитено с парола и не успявам да се справя... Ето svn командата, която пускам:
Код:
svn update /path/to/project --password mypassword
и още една камара комбинации... Пак си ми иска парола и т'ва е.

И с bash script да е, не е проблем.

Предварително благодаря!
Активен

d0ni

  • Напреднали
  • *****
  • Публикации: 183
    • Профил
Re: svn update с cronjob
« Отговор #1 -: Oct 23, 2009, 11:01 »
Синтаксисът е:
Код:
svn --username=[user] --password=[pass] update /path/
Активен

galileo

  • Напреднали
  • *****
  • Публикации: 21
  • Distribution: Kubuntu
  • Window Manager: KDE
    • Профил
Re: svn update с cronjob
« Отговор #2 -: Oct 24, 2009, 15:07 »
Същата работа...
Пример с потребител galileo с парола pass:
Код:
svn --username=galileo --password=pass update /home/galileo/svn/
Активен

morbid_viper

  • Напреднали
  • *****
  • Публикации: 266
  • Distribution: (Open)SUSE since v5.3 (1999)
  • Window Manager: KDE ориентиран
    • Профил
Re: svn update с cronjob
« Отговор #3 -: Oct 24, 2009, 21:55 »
така или иначе да подаваш паролата в скрипта не е най-добрият вариант. лично аз предпочитам да използвам ключове, ако хранилището е достъпно през svn+ssh. ето набързо как се прави работата, в случай че не знаеш:
$ ssh-keygen
това ти създава двойка ключове в ~/.ssh
$ ssh pencho@nekyde.com
(ако влизаш за пръв път потвърди, че приемаш отпечатъка на машината, към която се връзваш)
на отдалечената машина (в примера – некъде.ком) за потребителя, който те интересува (в примера – пенчо), редактираш файла ~/.ssh/authorized_kyes като добавяш съдържанието на прясно създадения публичен ключ (~/.ssh/id_rsa.pub)
излизаш от отдалечената машина. за тест влизаш отново на нея:
$ ssh pencho@nekyde.com
вече би трябвало да не ти иска парола


между другото провери с кой потребител се пуска скрипта в крона, т.е. ако си го въвел директно в /etc/crontab ще е с roo (ако не си указал изрично друго)t; ако си го редактирал с crontab -e ще е с потребителят, с който си изпълнил командата – по подразбиране svn  взима потребителят от средата, освен ако не е зададено --username
« Последна редакция: Oct 24, 2009, 21:59 от morbid_viper »
Активен

-------------------------------------------------
Blessed are we to taste this life of sin!
-------------------------------------------------
Registered Linux user #251276