私はこれを見て、多くの回答を見つけましたが、私は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(行の終わり)文字を持っているかもしれません最後に
"手動でrootとして実行すると動作します"。 rootの代わりに手動で自分自身で実行するとどうなりますか? – kaylum
私がアクセスできる唯一のアカウントはrootです..このステージングサーバーで新しいユーザーを作ることにしない限り – hamobi
rootユーザーまたはcrontabユーザーアカウント用にsshキーのペアを生成し、リモートgitサーバーに公開キーを展開します。 – ElpieKay