2016-07-13 27 views
1

私はこれを見て、多くの回答を見つけましたが、私はUNIX/Linuxのダミーです。人々の指示に従うことができません。私は、rootとして手動で実行する場合crontabからgitを実行中 - 許可が拒否されました

#!/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 

私はそうのように設定シェルファイルを持っている

ここで順を追って説明の簡単なステップを必要とする...などを編集するファイルを確認しませんそれは動作し、我々はすべて良いです。しかし、私のcron経由doesntの仕事..ここ

は私のcrontabは私cron.logで

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

ですが、私はこの問題を解決するにはどうすればよい Permission denied (publickey).^M

を取得していますか?簡単な説明。 dos2unixを試してください:あなたのスクリプトではなく\n\r\n EOL(行の終わり)文字を持っているかもしれません最後に

+0

"手動でrootとして実行すると動作します"。 rootの代わりに手動で自分自身で実行するとどうなりますか? – kaylum

+0

私がアクセスできる唯一のアカウントはrootです..このステージングサーバーで新しいユーザーを作ることにしない限り – hamobi

+0

rootユーザーまたはcrontabユーザーアカウント用にsshキーのペアを生成し、リモートgitサーバーに公開キーを展開します。 – ElpieKay

答えて

0
Permission denied (publickey).^M 

^M

また、あなたのスクリプトが実行可能であることを確認してください。

問題、さらに基本:

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

OP hamobiは別の理由in the commentsが言及しています。ユーザのrsaキーをbitbucketに移動しなければならなかった。

+0

問題はさらに基本的です。ユーザーのRSAキーをbitbucket durrrrrrrに移動しなければなりませんでした。 – hamobi

+0

@hamobi OK。より視認性の高い答えをあなたのコメントに追加しました。 – VonC

関連する問題