Автор Гілка: ssh  (Прочитано 6131 раз)

Відсутній Efes

  • Дописувач
  • **
  • дописів: 66
  • Карма: +0/-0
  • Що новенького?
ssh
« : 2004-02-06 14:43:55 »
Дайте мені будь ласка приклад, як по крону раз на добу передати по ssh певну локальну папку у віддалену папку, перезаписуючи застарілі файли.

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: ssh
« Відповідей #1 : 2004-02-06 15:50:20 »
scp -r ЗВІДКИ КУДИ

ЗВІДКИ та КУДИ - це або локальний каталог, або USER@HOST:/КАТАЛОГ

Для того, щоб ssh не питався паролю, його необхідно попередньо налаштувати для авторизації по ключу.

Рядок у кроні виглядатиме так

ХВ ГОД ДЕНЬ МІС ДТ scp -r .... ....

ХВ - хвилини 0-59
ГОД - години 0-23
ДЕНЬ - дні місяця (1-31)
МІС - місяц - 1-12
ДТ - дні тижня - 1-7

наприклад

23 5 * * * spc -Cr /home/lvm/backup lvm@mystery.lviv.net:/home/lvm/backup && rm -rf /home/lvm/backup *

кожного дня 23 хвилини по п'ятій ранку виконати копіювання.

або

0 7 * * 1,3,5  scp -Cr ...

Рівно о сьомій ранку в понеділок, середу та п'ятницю.


або
[Fedora Linux]

Відсутній Efes

  • Дописувач
  • **
  • дописів: 66
  • Карма: +0/-0
  • Що новенького?
Re: ssh
« Відповідей #2 : 2004-02-06 15:58:06 »
Цитата
Для того, щоб ssh не питався паролю, його необхідно попередньо налаштувати для авторизації по ключу.

 А тут детальніше плз, якщо можна.
« Змінено: 2004-02-06 15:59:04 від Efes »

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: ssh
« Відповідей #3 : 2004-02-16 15:30:15 »
[Fedora Linux]

Відсутній Дмитро Ковальов

  • Кореспондент
  • ***
  • дописів: 236
  • Карма: +0/-0
Re: ssh
« Відповідей #4 : 2004-02-19 11:01:27 »
scp -r ЗВІДКИ КУДИ

Взагалі то, scp для таких речей краще не користуватись -- він копіює симлінки як файли (тобто, якщо в теці буде якийсь 'ln -s /usr/bin /from/dir/', то на віддаленому сервері в цій теці виявиться повний /to/dir/usr/bin).

Краще користуватись або звичайним tarом, або rsync через ssh.

Для tar команда буде:

(cd /from/dir; tar cf - .) | ssh -l user remote_host [-i identity_file] "(cd /to/dir; tar xf -)"

Для rsync:

export RSYNC_RSH=ssh

rsync --delete -rv /from/dir user@remotehost:/to/dir