今天在服务器中通过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\""
执行成功