2013-11-19 4 views
1

Я создал ежедневные хроны на автоматической станции Ubuntu:Почему мой cron-задание иногда терпит неудачу на компакт-диске с помощью «не каталога»?

0 3 * * * cd /home/spertus/src-mirror/blockly; svn up; git add -A; git commit -m "Automatic commit `date`"; git push 

Около половины времени, это работает. Другая половина времени, я по электронной почте сообщение об ошибке, которая начинается со следующей строки:

/bin/sh: line 0: cd: /home/spertus/src-mirror/blockly: Not a directory 
Skipped '.' 

Любой знает, почему CD потерпит неудачу?

+1

потому что иногда путь - это файл, а не каталог – suspectus

+0

Я единственный, у кого есть доступ, и я никогда не изменяю этот пункт в иерархии файлов, поэтому я не знаю, как это могло бы быть файл. Кстати, мне нравится ваш суффикс. –

+1

Ваш домашний каталог автомонтирован? –

ответ

2

Наиболее вероятным объяснением является то, что ваш домашний каталог автомонтирован, а это означает, что /home/spertus не будет существовать, если вы не получили доступ к нему в последнее время.

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

Вполне возможно, что только доступ к вашей домашней директории перед выполнением команды:

ls /home/spertus >/dev/null 2>&1; cd /home/spertus/src-mirror/blockly; ... 

было бы достаточно, но я не знаю достаточно о автомонтирование, чтобы убедиться, не знаю.

+0

Большое спасибо. Бьюсь об закладке, перемещая (или воссоздавая) каталог (и делая соответствующее изменение в crontab), исправит проблему. Если это не так, я снова открою вопрос. –

+0

'ls/home/spertus>/dev/null 2> & 1; cd/home/spertus/src-mirror/blockly; 'Не выполнит ли эта команда для cd, так как вы используете'; '? Вероятно, вы хотите использовать '&&' –

+0

@ ansh0l: Да, и если 'cd' терпит неудачу, вы получите сообщение об ошибке, что и должно произойти. Надеемся, что команда 'ls' заставит'/home/spertus' автомонтироваться. Я не знаю, будет ли это на самом деле работать. –

Смежные вопросы