Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: [РЕШЕНО] Проблема с отработкой скрипта в cron.  (Прочитано 7729 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #15 : 22 Июля 2011, 14:12:09 »
Я все-таки не понимаю строк (специально "раздвинул" пробелы):

curdate=`date '+%d.%h.%y'`
/usr/bin/rsh      10.64.122.195     -l     spb_server     co     sh    >     /home/backup/BS_config_RSH/TEC-7/$curdate'               tec7-s1.conf'

Там либо пробелы лишние, либо я чего-то не понимаю...


Оффлайн mousepro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #16 : 22 Июля 2011, 14:15:33 »
backup.log - пуст =)

1) добавьте контрольные отметки в скрипт, типа
echo cmd1 done
...
echo cmd2 done

2) проверьте через echo шелл и промежуточные значения переменных.



 проверьте через echo шелл и промежуточные значения переменных. - это как ?

Пользователь решил продолжить мысль 22 Июля 2011, 14:16:04:
backup.log - пуст =)

1) добавьте контрольные отметки в скрипт, типа
echo cmd1 done
...
echo cmd2 done

2) проверьте через echo шелл и промежуточные значения переменных.



поставил в скрипт echo


#TEC-7
/usr/bin/rsh 10.64.122.195 -l spb_server co sh > /home/backup/BS_config_RSH/TEC-7/$curdate' tec7-s1.conf' &&
echo cmd1 done
/usr/bin/rsh 10.64.122.195 -l spb_server mint map >> /home/backup/BS_config_RSH/TEC-7/$curdate' tec7-s1.conf' &&
echo cmd2 done
/usr/bin/rsh 10.64.122.196 -l spb_server co sh > /home/backup/BS_config_RSH/TEC-7/$curdate' tec7-s2.conf' &&
echo cmd3 done
/usr/bin/rsh 10.64.122.196 -l spb_server mint map >> /home/backup/BS_config_RSH/TEC-7/$curdate' tec7-s2.conf' &&
echo cmd4 done
/usr/bin/rsh 10.64.122.197 -l spb_server co sh > /home/backup/BS_config_RSH/TEC-7/$curdate' tec7-s3.conf' &&
echo cmd5 done
/usr/bin/rsh 10.64.122.197 -l spb_server mint map >> /home/backup/BS_config_RSH/TEC-7/$curdate' tec7-s3.conf'


Лог пустой!!!!!! о чем это говорит?


Пользователь решил продолжить мысль 22 Июля 2011, 14:23:55:
выполняется только первая команда.......я вставил echo перед командами - так вот этот вывод попал в лог

Пользователь решил продолжить мысль 22 Июля 2011, 14:42:12:
Я все-таки не понимаю строк (специально "раздвинул" пробелы):

curdate=`date '+%d.%h.%y'`
/usr/bin/rsh      10.64.122.195     -l     spb_server     co     sh    >     /home/backup/BS_config_RSH/TEC-7/$curdate'               tec7-s1.conf'

Там либо пробелы лишние, либо я чего-то не понимаю...



пробелов лишних нет - все ок! баг  именно в ходе выполнени
« Последнее редактирование: 22 Июля 2011, 14:42:12 от mousepro »

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Проблема с отработкой скрипта в cron.
« Ответ #17 : 22 Июля 2011, 14:43:36 »
выполняется только первая команда.......я вставил echo перед командами - так вот этот вывод попал в лог
Тогда очевидно, что ошибка в строке с
Цитировать
/usr/bin/rsh ...
Причём, я согласен с товарищем Karl500, что сами строки выглядят крайне подозрительно.

Рекомендую начать с простого:
/usr/bin/ssh $USER@$HOST "$COMMAND"В качестве COMMAND взять что-нибудь тривиальное, типа
ls /
echo \$HOSTNAME

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #18 : 22 Июля 2011, 14:49:51 »
пробелов лишних нет - все ок! баг  именно в ходе выполнени
Если, по Вашему мнению, лишних пробелов нет, не затруднит ли описать словами эти команды? Например, так:

Вызывается удаленный шелл на машине с адресом 10.64.122.195 и пользователем spb_server ... (просто продолжите это описание, плиз).

Оффлайн mousepro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #19 : 22 Июля 2011, 14:52:46 »
дело в том что shh на сетевых устройствах не поднят, и поднять на всех не вариант!

Пользователь решил продолжить мысль 22 Июля 2011, 14:54:46:
пробелов лишних нет - все ок! баг  именно в ходе выполнени
Если, по Вашему мнению, лишних пробелов нет, не затруднит ли описать словами эти команды? Например, так:

Вызывается удаленный шелл на машине с адресом 10.64.122.195 и пользователем spb_server ... (просто продолжите это описание, плиз).

подается удаленная команда "co sh" на хост с IP 10.64.122.195  от пользователя backup с паролем spb_server
« Последнее редактирование: 22 Июля 2011, 14:54:46 от mousepro »

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Проблема с отработкой скрипта в cron.
« Ответ #20 : 22 Июля 2011, 14:55:38 »
Э...
$ ls -l $(which rsh)
lrwxrwxrwx 1 root root 21 2010-09-01 16:02 /usr/bin/rsh -> /etc/alternatives/rsh
$ ls -l /etc/alternatives/rsh
lrwxrwxrwx 1 root root 12 2010-09-01 16:02 /etc/alternatives/rsh -> /usr/bin/ssh
Или это только у меня так?

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #21 : 22 Июля 2011, 14:59:03 »
1. Я не вижу пользователя backup  в команде, а вижу пользователя spb_server (а не пароль!)
2. А дальше? Самое интересное - это то, что после значка '>'

Оффлайн mousepro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #22 : 22 Июля 2011, 15:50:11 »
1. Я не вижу пользователя backup  в команде, а вижу пользователя spb_server (а не пароль!)
2. А дальше? Самое интересное - это то, что после значка '>'
все верно , пользователя в команде и не должно быть....
пользователь - это тот  от  имени кого выполняется команда

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #23 : 22 Июля 2011, 15:52:35 »
Это Вам так кажется. А теперь почитайте man rsh и посмотрите ключ -l который Вы используете. Кроме этого, на 2-й пункт Вы так и не ответили.

Пользователь решил продолжить мысль 22 Июля 2011, 15:59:12:
И еще совет. Обратите внимание на опцию -n в man rsh (точно такая же и в ssh, который на самом деле используется).
Цитировать
Например, команда:

rsh somehost dd if=/dev/nrmt0 bs=20b | tar xvpBf -
введет ваш командный интерпретатор в странное состояние. Очевидно, tar заканчивает работу раньше, чем rsh. Затем rsh пытается писать в закрытый канал ("broken pipe") и, вместо того, чтобы просто остановиться, продолжает "сражаться" с локальным командным интерпретатором за стандартный входной поток. Вызов rsh с опцией -n предотвращает такие проблемы.

Ошибка происходит только когда rsh находится в начале конвейера и не читает стандартный входной поток. Не используйте -n если rsh действительно должна читать стандартный входной поток. Например,

tar cf - . | rsh sundial dd of=/dev/rmt0 obs=20b
не приводит к ошибке. Если придется использовать -n в подобных случаях, rsh будет ошибочно читать с /dev/null вместо канала.
(вот отсюда: http://www.opennet.ru/man.shtml?topic=rsh&category=1 )
« Последнее редактирование: 22 Июля 2011, 16:01:09 от Karl500 »

Оффлайн mousepro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #24 : 22 Июля 2011, 16:01:48 »
Это Вам так кажется. А теперь почитайте man rsh и посмотрите ключ -l который Вы используете. Кроме этого, на 2-й пункт Вы так и не ответили.

насчет -l  в man  написано, что это удаленный пользователь, то есть пароля там вообще не используется, а авторизация на удаленном девайсе проходит путем указания удаленного и локального пользователя

> /home/backup/BS_config_RSH/TEC-7/$curdate' tec7-s1.conf'  - перенаправить результат в файл с именем $curdate - дата, а дальше название девайса - с которого снимаем конфиг

Пользователь решил продолжить мысль 22 Июля 2011, 16:04:45:
Это Вам так кажется. А теперь почитайте man rsh и посмотрите ключ -l который Вы используете. Кроме этого, на 2-й пункт Вы так и не ответили.

насчет -l  в man  написано, что это удаленный пользователь, то есть пароля там вообще не используется, а авторизация на удаленном девайсе проходит путем указания удаленного и локального пользователя

> /home/backup/BS_config_RSH/TEC-7/$curdate' tec7-s1.conf'  - перенаправить результат в файл с именем $curdate - дата, а дальше название девайса - с которого снимаем конфиг


на удаленном девайсе

 rshd
rshd {enable | ipstat | disable} RUSER RHOST LUSER
rshd start | stop | flush | [-]log
« Последнее редактирование: 22 Июля 2011, 16:04:45 от mousepro »

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #25 : 22 Июля 2011, 16:06:27 »
Верно. Так какой используется пользователь? (хинт: если нужен автоматический вход, используйте вход не по паролю а по ключу).

По поводу "дальше" - т.е. на самом деле, выполняется команда

co sh tec7-s1.conf  >  некое_имя_файла

Так?


Пользователь решил продолжить мысль 22 Июля 2011, 16:09:29:
Вы гляньте то, что Вам говорил тов. arcfi - возможно, что Вы несколько заблуждаетесь по поводу использования именно rshd на удаленной машине (хотя это не так важно, кмк).
« Последнее редактирование: 22 Июля 2011, 16:09:29 от Karl500 »

Оффлайн mousepro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #26 : 22 Июля 2011, 16:10:58 »
Верно. Так какой используется пользователь? (хинт: если нужен автоматический вход, используйте вход не по паролю а по ключу).

По поводу "дальше" - т.е. на самом деле, выполняется команда

co sh tec7-s1.conf  >  некое_имя_файла

Так?


на удаленном девайсе написано, что RUSER - backup , а LUSER - spb_server
backup - локальный юзер на сервере, от его имени выполняется скрипт, если его запустить руками, то все ок!... конфиги записываются в фалы и кладутся в разные, соответсвующие папки, + к имени файла с названием удаленного девайса добавляется дата , когда снимался конфиг....
а насчет команды  -"co sh" - это команда, по которой дефвайс показывает свой конфиг...... 

Пользователь решил продолжить мысль 22 Июля 2011, 16:12:23:
Верно. Так какой используется пользователь? (хинт: если нужен автоматический вход, используйте вход не по паролю а по ключу).

По поводу "дальше" - т.е. на самом деле, выполняется команда

co sh tec7-s1.conf  >  некое_имя_файла

Так?


на удаленном девайсе написано, что RUSER - backup , а LUSER - spb_server
backup - локальный юзер на сервере, от его имени выполняется скрипт, если его запустить руками, то все ок!... конфиги записываются в фалы и кладутся в разные, соответсвующие папки, + к имени файла с названием удаленного девайса добавляется дата , когда снимался конфиг....
а насчет команды  -"co sh" - это команда, по которой дефвайс показывает свой конфиг...... 

ее синтаксис прост - ...просто 5 символов "co sh"  и результат команды перенаправляем в файл

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #27 : 22 Июля 2011, 16:14:51 »
Я не знаю, как Вам еще объяснить...
1. Сделайте то, о чем говорил arcfi:

ls -l $(which rsh)

если получите в ответ

/usr/bin/rsh -> /etc/alternatives/rsh

то сделайте

ls -l /etc/alternatives/rsh

Если получите в ответ

/etc/alternatives/rsh -> /usr/bin/ssh

То, значит, у Вас используется не rsh а ssh (как, собственно, и должно быть в ubuntu).

Дальше будем разбираться после этого шага.

Оффлайн mousepro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #28 : 22 Июля 2011, 16:17:32 »
Я не знаю, как Вам еще объяснить...
1. Сделайте то, о чем говорил arcfi:

ls -l $(which rsh)

если получите в ответ

/usr/bin/rsh -> /etc/alternatives/rsh

то сделайте





ls -l /etc/alternatives/rsh

Если получите в ответ

/etc/alternatives/rsh -> /usr/bin/ssh

То, значит, у Вас используется не rsh а ssh (как, собственно, и должно быть в ubuntu).

Дальше будем разбираться после этого шага.




[backup@localhost ~]$ which rsh
/usr/kerberos/bin/rsh

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Проблема с отработкой скрипта в cron.
« Ответ #29 : 22 Июля 2011, 16:21:34 »
ls -l /usr/kerberos/bin/rsh /usr/bin/rsh
lsb_release -d
?

 

Страница сгенерирована за 0.036 секунд. Запросов: 25.