LINUX.ORG.RU

Вызов sh скрипта из крона

 , ,


0

1

Есть такой скрипт в кроне:

#!/bin/sh
git add .
git commit -m "добавление линка на таблицы игры"
git push git@github.com:Vladgobelen/configs.git
date > /home/diver/Документы/configs/date

Дату он создает исправно, а вот команды гита игнорирует. Это он чего? Как исправить, чтобы отправлял?

Если запустить вручную - все работает как надо.

РЕШЕНИЕ:

Вызов sh скрипта из крона (комментарий)

★★★★★

Последнее исправление: LightDiver (всего исправлений: 3)

Либо смотри логи крона, либо добавь после каждой команды:

2>&1 >>/tmp/cronjobs.log

iron ★★★★★
()

Нет cd в директорию, это первое что бросилось в глаза. Я бы даже сделал cd /path/to/git/sources || exit 1.

mord0d ★★★★★
()
Ответ на: комментарий от iron

добавь после каждой команды

Или обернуть все команды в фигурные скобки ({/}), и их уже перенаправлять:

{
  some
  commands
  even with their own redirects 2>/dev/null
} >>/tmp/cronjobs.log 2>&1
mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Офигеть, спасибо огромное. Да, путь прописал и работает. Я привык что автоматом принимается тот каталог, где лежит скрипт.

LightDiver ★★★★★
() автор топика
Ответ на: комментарий от LightDiver

Я привык что автоматом принимается тот каталог, где лежит скрипт.

Ты сам пишешь и вызываешь так скрипты. Да, в интерактиве это удобно и потому часто практикуется многими, но cron отрабатывает скрипты иначе, более того, у него своё окружение (там нет и половины переменных, которые ты привык видеть в интерактивной сессии шелла), свой $PATH (не факт, но очень вероятно), свой шелл (зависит от ОС/дистрибутива, полагаю), причём без сорца конфигов этого шелла.

mord0d ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.