Crontab 条目不起作用

Crontab 条目不起作用

我想要每天早上 5 点将一组文件从远程服务器复制到本地计算机。以下 crontab 条目不起作用:

   0 5 * * * scp [email protected]:/tmp/bkp*tar.gz /home/user1/dir1

这是在 Ubuntu 18.04 上(如果它很重要,但我认为它不应该)。该命令由在其 crontab 中创建此条目的同一用户手动执行时有效。

答案1

设置公钥/私钥身份验证。scp需要在您复制文件的服务器上进行某种形式的身份验证。如果您要为设置 cronjobs scp,则应该是无密码密钥。您不在终端上输入 cronjob 的密码。

有一个名为 的实用程序sshpass,它允许您编写密码脚本,而无需设置公钥/私钥。它并不总是可用,并且可能是一个次要的解决方案。

如果您担心安全性(或者这不是家庭解决方案),请为文件传输创建一个单独的用户,并确保该用户仅具有复制所需的授权。

请注意,在这种情况下这ssh-agent不会帮助您。

答案2

如果您使用密钥,ssh-agent则助手程序不会运行,因为cron没有经过标准登录过程。

您需要ssh-agent手动启动。有关更多信息,请参阅示例https://www.ssh.com/ssh/agent

相关内容