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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

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

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

Оффлайн mousepro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Всем привет! Есть задача собирать конфиги с сетевых устройств по rsh..
Когда выполняешь команду из терминала все -ок, тогда я решил написать простой скрипт


#!/bin/sh
curdate=`date '+%d.%h.%y'`
/usr/bin/rsh 10.64.122.211 -l spb_server co sh > /home/backup/BS_config_RSH/$curdate' tech-s1.conf';
/usr/bin/rsh 10.64.122.211 -l spb_server mint map >> /home/backup/BS_config_RSH/$curdate' tech-s1.conf';
/usr/bin/rsh 10.64.122.212 -l spb_server co sh > /home/backup/BS_config_RSH/$curdate' tech-s2.conf'
/usr/bin/rsh 10.64.122.212 -l spb_server mint map >> /home/backup/BS_config_RSH/$curdate' tech-s2.conf'
/usr/bin/rsh 10.64.122.213 -l spb_server co sh > /home/backup/BS_config_RSH/$curdate' tech-s3.conf'
/usr/bin/rsh 10.64.122.213 -l spb_server mint map >> /home/backup/BS_config_RSH/$curdate' tech-s3.conf'

Когда запускаешь данный скрипт руками - все отрабатывается! А при попытке отрабатывать данный скрипт из cron возникают проблемы - скрипт отрабатывает только первую команду, остальные просто не отрабатываются. В логах /var/log/cron - пишется что  cron выполнил задание. Задание выполняется от специально созданного для этих целей юзера. проблем с правами нет. Есть у кого соображения по этому поводу.
« Последнее редактирование: 04 Августа 2011, 15:49:19 от RazrFalcon »

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Проблема с отработкой скрипта в cron.
« Ответ #1 : 22 Июля 2011, 13:05:03 »
А что же в кроне самом написано? Как запускаете?
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн mousepro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #2 : 22 Июля 2011, 13:08:33 »
запускаю редактирование cron

crontab -e из под юзера, под которым должен отрабатываться скрипт.


Пользователь решил продолжить мысль 22 Июля 2011, 13:14:42:
А что же в кроне самом написано? Как запускаете?
стандартный синтаксис
« Последнее редактирование: 22 Июля 2011, 13:14:42 от mousepro »

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Проблема с отработкой скрипта в cron.
« Ответ #3 : 22 Июля 2011, 13:22:42 »
Показать то можете вывод crontab -l?
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн mousepro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #4 : 22 Июля 2011, 13:24:37 »
Показать то можете вывод crontab -l?


[backup@localhost ~]$ crontab -l
10 7 * * * /home/backup/backup_script_config_bs.sh

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #5 : 22 Июля 2011, 13:26:29 »
Я бы попробовал заменить шебанг на #!/bin/bash
Кстати - первые третья и четвертая строки скрипта отличаются от остальных, я бы их тоже привел к одному виду.

(почему по-разному выполняется "в ручном режиме" и под кроном - понятно: под кроном нет переменных окружения, поэтому и нужно писать полный путь к запускаемым командам).

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Проблема с отработкой скрипта в cron.
« Ответ #6 : 22 Июля 2011, 13:27:18 »
backup_script_config_bs.sh исполняемый?

Пробовали:
10 7 * * * sh /home/backup/backup_script_config_bs.sh?
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #7 : 22 Июля 2011, 13:28:52 »
Только /bin/sh, а лучше /bin/bash (просто sh не сработает)

Оффлайн mousepro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #8 : 22 Июля 2011, 13:29:49 »
backup_script_config_bs.sh исполняемый?

Пробовали:
10 7 * * * sh /home/backup/backup_script_config_bs.sh?


[backup@localhost ~]$ ls -l
total 132
-rwxr-xr-x  1 backup backup  6900 Jul 22 12:29 backup_script_config_bs.sh


Пользователь решил продолжить мысль 22 Июля 2011, 13:33:24:
Только /bin/sh, а лучше /bin/bash (просто sh не сработает)
все равно , отрабатывает одинаково

Пользователь решил продолжить мысль 22 Июля 2011, 13:35:21:
Я бы попробовал заменить шебанг на #!/bin/bash
Кстати - первые третья и четвертая строки скрипта отличаются от остальных, я бы их тоже привел к одному виду.

(почему по-разному выполняется "в ручном режиме" и под кроном - понятно: под кроном нет переменных окружения, поэтому и нужно писать полный путь к запускаемым командам).

да, я пробывал с использованием ";" и без него -не на что не вляиет

Пользователь решил продолжить мысль 22 Июля 2011, 13:36:10:
просто мистика какая-то с этим rsh
« Последнее редактирование: 22 Июля 2011, 13:36:10 от mousepro »

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Проблема с отработкой скрипта в cron.
« Ответ #9 : 22 Июля 2011, 13:37:23 »
Сделайте нормальный вывод в лог, и сразу станет понятно, в чём проблема.

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #10 : 22 Июля 2011, 13:38:29 »
Тогда попробуйте, чтобы эти команды выполнялись одна за одной. Т.е. что-то типа

#!/bin/sh
curdate=`date '+%d.%h.%y'`
/usr/bin/rsh 10.64.122.211 -l spb_server co sh > /home/backup/BS_config_RSH/$curdate' tech-s1.conf' && \
/usr/bin/rsh 10.64.122.211 -l spb_server mint map >> /home/backup/BS_config_RSH/$curdate' tech-s1.conf' && \
/usr/bin/rsh 10.64.122.212 -l spb_server co sh > /home/backup/BS_config_RSH/$curdate' tech-s2.conf' && \
/usr/bin/rsh 10.64.122.212 -l spb_server mint map >> /home/backup/BS_config_RSH/$curdate' tech-s2.conf' && \
/usr/bin/rsh 10.64.122.213 -l spb_server co sh > /home/backup/BS_config_RSH/$curdate' tech-s3.conf' && \
/usr/bin/rsh 10.64.122.213 -l spb_server mint map >> /home/backup/BS_config_RSH/$curdate' tech-s3.conf'

UPD: Это мне кажется, или у Вас что-то не то с апострофами?
« Последнее редактирование: 22 Июля 2011, 13:40:03 от Karl500 »

Оффлайн mousepro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Проблема с отработкой скрипта в cron.
« Ответ #11 : 22 Июля 2011, 13:51:57 »
сейчас попробую  && \

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Проблема с отработкой скрипта в cron.
« Ответ #12 : 22 Июля 2011, 13:58:38 »
Опять гадания на кофейной гуще?

[backup@localhost ~]$ crontab -l
10 7 * * * /home/backup/backup_script_config_bs.sh >/tmp/backup.log 2>&1

Оффлайн mousepro

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

[backup@localhost ~]$ crontab -l
10 7 * * * /home/backup/backup_script_config_bs.sh >/tmp/backup.log 2>&1


backup.log - пуст =)

Пользователь решил продолжить мысль 22 Июля 2011, 14:02:16:
Опять гадания на кофейной гуще?

[backup@localhost ~]$ crontab -l
10 7 * * * /home/backup/backup_script_config_bs.sh >/tmp/backup.log 2>&1


backup.log - пуст =)
[backup@localhost tmp]$ ls -la
total 56
drwxrwxrwt  8 root   root   4096 Jul 22 14:00 .
drwxr-xr-x 23 root   root   4096 Jul 22 11:03 ..
-rw-r--r--  1 backup backup    0 Jul 22 14:00 backup.log
drwxrwxrwt  2 root   root   4096 Jul 22 11:04 .font-unix
drwx------  2 root   root   4096 Jul 12 17:55 gconfd-root
srw-rw-rw-  1 root   root      0 Jul 22 11:04 .gdm_socket
drwxrwxrwt  2 root   root   4096 Jul 22 11:03 .ICE-unix
srwxr-xr-x  1 root   root      0 Jul 12 17:14 mapping-root
drwx------  2 backup backup 4096 Jul 22 14:00 mc-backup
drwx------  2 root   root   4096 Jul 22 11:55 mc-root
-rw-------  1 root   root   1024 Jul 12 12:18 .rnd
-r--r--r--  1 root   root     11 Jul 22 11:04 .X0-lock
drwxrwxrwt  2 root   root   4096 Jul 22 11:04 .X11-unix


Пользователь решил продолжить мысль 22 Июля 2011, 14:03:23:
вообщем выполняется тока первая команда скрипта.......
сейчас скрипт выглядит так



#!/bin/bash

curdate=`date '+%d.%h.%y'`

#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' && \
/usr/bin/rsh 10.64.122.195 -l spb_server mint map >> /home/backup/BS_config_RSH/TEC-7/$curdate' tec7-s1.conf' && \
/usr/bin/rsh 10.64.122.196 -l spb_server co sh > /home/backup/BS_config_RSH/TEC-7/$curdate' tec7-s2.conf' && \
/usr/bin/rsh 10.64.122.196 -l spb_server mint map >> /home/backup/BS_config_RSH/TEC-7/$curdate' tec7-s2.conf' && \
/usr/bin/rsh 10.64.122.197 -l spb_server co sh > /home/backup/BS_config_RSH/TEC-7/$curdate' tec7-s3.conf' && \
/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:03:23 от mousepro »

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Проблема с отработкой скрипта в cron.
« Ответ #14 : 22 Июля 2011, 14:11:41 »
backup.log - пуст =)

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

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

 

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