2016-07-13 3 views
1

Я посмотрел это и нашел множество ответов, но я - unix/linux dummy. Не в состоянии следовать указаниям людей. Не уверен, какие файлы для редактирования и т.д ..бегущий git от crontab - разрешение отклонено

нужен простой шаг за шагом инструкции здесь

У меня есть файл оболочки настроить так:

#!/bin/bash 
exec &>> /var/www/nginx/yokohama/laravel/storage/cron.log 
today='date +%Y-%m-%d.%H:%M:%S'; 

cp /var/www/nginx/yok/yok_data.xml /var/www/nginx/yok/yok_XML_Files/backup-$(date +"%Y_%m_%d").xml 
git add /var/www/nginx/yok/yok_XML_Files/backup-$(date +"%Y_%m_%d").xml 
git commit -m "cool test" 
git push origin staging 

если я запустить его вручную, так как корень это работает, и мы все хороши. но не работает через мои хроны ..

вот мой кронтаб

* * * * * /usr/bin/sh /var/www/nginx/yok/laravel/commit_data.sh 

В моей cron.log я получаю Permission denied (publickey).^M

Как я могу это исправить? Простые инструкции.

+0

«если я запускаю его вручную, так как он работает». А что, если вы вручную запускаете его как себя, а не root? – kaylum

+0

Единственная учетная запись, к которой у меня есть доступ - это root .. если я не решил сделать нового пользователя на этом промежуточном сервере – hamobi

+0

Создайте пару ключей ssh ​​для вашего пользователя root или вашей учетной записи crontab и разверните открытый ключ на удаленном git-сервере , – ElpieKay

ответ

0
Permission denied (publickey).^M 

^M в конце, что ваш сценарий может иметь \r\n EOL (конец строки) символов вместо \n: попробуйте dos2unix.

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

chmod 755 /var/www/nginx/yok/laravel/commit_data.sh 

OP hamobi упоминает другую причину in the comments:

проблема еще более простой. пришлось переместить пользователей rsa в битбакет.

+0

проблема еще более основной. пришлось переместить пользователей rsa в битбакет durrrrrrr .. – hamobi

+0

@hamobi OK. Я включил ваш комментарий в ответ для большей наглядности. – VonC

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