如果在命令行手动执行rsync命令可以正常同步数据,但是在crontab定时任务里提示权限失败。

遇到这种情况,可以在rysnc命令里指定用ssh安全隧道方式的同时参数指定使用可以免密码登录对方机器的认证密钥文件。


1,创建一个新的密钥

    ssh-keygen -t rsa

2,将密钥添加到对方主机信任中,实现免密码ssh登录

    ssh-copy-id -i[密钥文件] [非root用户名]@[对方主机]

3,再在crontab里跑rsync试试

    rsync -e'ssh -p22 -i[你的密钥文件]' -avzP [非root用户名]@[对方主机]:[对方主机目录] [本地目录]