通过ssh远程执行命令导入定时任务报错----解决过程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过ssh远程执行命令导入定时任务报错----解决过程相关的知识,希望对你有一定的参考价值。

今天在服务器中通过ssh远程执行批量导入定时任务时发生了一个问题:
总结如下,远程服务器已设置好ssh秘钥登录,登录用户为普通用户,但已设置好拥有免密sudo权限
ssh 1.1.1.1 "sudo su -c "echo ‘30 5 * * 5 /bin/sh /root/log.sh > /dev/null 2>&1‘>>/var/spool/cron/root""
没有报错,但是远程机器上并没有定时任务
命令没错,第一直觉就是觉得可能是引号问题:
再尝试执行ssh 1.1.1.1 ""sudo su  -c "echo ‘30 5 * * 5 /bin/sh /root/log.sh > /dev/null 2>&1‘>>/var/spool/cron/root" ""
报bash: /var/spool/cron/root: 权限不够
然后自己一番查找和询问:
ssh 1.1.1.1 "sudo su -c \"echo ‘30 5 * * 5 /bin/sh /root/log.sh > /dev/null 2>&1‘>>/var/spool/cron/root\""
执行成功

本文出自 “弦断指间” 博客,请务必保留此出处http://vaedit.blog.51cto.com/12675976/1982742

以上是关于通过ssh远程执行命令导入定时任务报错----解决过程的主要内容,如果未能解决你的问题,请参考以下文章

SSH远程连接命令执行没反应不报错问题解决(-bash: fork: retry: Resource temporarily unavailable.[资源暂时不可用])

报错记录解决SSH远程执行脚本卡死(假死)的问题

如何使用ssh远程编辑定时任务crontab?

linux下使用crontab命令执行定时任务

解决SSH远程执行命令找不到环境变量的问题

SSH 远程执行任务