crontab 无法执行scp,请高手帮忙

xuxinqi 2015-05-20 09:29:12
【backup.sh脚本】
#!/bin/sh
scp -i /home/test/.ssh/id_rsa -r /home/test/aaa.txt p2p@192.168.1.111:/home/test/

【crontab 】
*/5 * * * * cd /home/test/shscript; sh backup.sh > /var/tmp/test.log 2>&1

【test.log 】
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
lost connection

如果手工执行,加上
exec /usr/bin/ssh-agent $SHELL
ssh-add
输入密码后执行scp是成功的!
scp -i /home/test/.ssh/id_rsa -r /home/test/aaa.txt p2p@192.168.1.111:/home/test/
...全文
351 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
voul 2015-05-24
  • 打赏
  • 举报
回复
crontab所执行的任务都是在后台的,无法实现人机交互。所以无法不会在shell上给你输入密码的机会吧。 如果想要实现你写的脚本我认为有两种方法:1、在你的脚本中写here文档 2、在你的root主目录下生成密钥
xuxinqi 2015-05-21
  • 打赏
  • 举报
回复
问题不是crontab 中的cd,问题是下面链接说的问题一模一样,但是没解决 http://tigerlee.me/p/resolution-of-permission-denied-when-using-scp-in-crontab/
xuxinqi 2015-05-20
  • 打赏
  • 举报
回复
http://tigerlee.me/p/resolution-of-permission-denied-when-using-scp-in-crontab/
oathupdate 2015-05-20
  • 打赏
  • 举报
回复
貌似可以修改两个文件实现corntab 一个文件需要标注用户,一个不需要
oathupdate 2015-05-20
  • 打赏
  • 举报
回复
不能用cd命令前进到那个目录去,而应该直接用那个脚本的绝对路径。在corntab中要求必须用绝对路径

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧