我已经看了这个并找到了很多答案,但我是一个unix / linux假人。无法遵循人们的指示。不确定要编辑哪些文件等。
此处需要简单的分步说明
我有一个shell文件设置如下:
#!/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
如果我以root身份手动运行它可以工作,我们一切都很好。但是没有通过我的cron工作..
这是我的crontab
* * * * * /usr/bin/sh /var/www/nginx/yok/laravel/commit_data.sh
在我的cron.log中,我得到了
Permission denied (publickey).^M
我该如何解决这个问题?简单的说明。
答案 0 :(得分: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键移动到bitbucket。