在 osx-environment 中使用 cron 通过 SSH 进行 rsync

在 osx-environment 中使用 cron 通过 SSH 进行 rsync

我想自动从我拥有 SSH(和 FTP)帐户的 Linux 服务器下载文件和文件夹。文件应下载到定期(我认为 cron 是执行此操作的正确工具)安装到 OS X 机器上。

我尝试了以下 rsync 命令,效果很好:

rsync -avzbe ssh [email protected]:/www/htdocs/something/somefolder /Users/me/folder/foo/

但是每次都要输入账号密码(服务器机器上的SSH账号),服务器是托管的,我怕改不了密码。

以下是我的问题:

  • 如何通过将密码存储在某处来绕过输入密码
  • 那么我该如何正确地实现这一自动化呢?

答案1

  1. 运行ssh-keygen并接受每一步的默认设置
  2. cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh/; cat >> ~/.ssh/authorized_keys; chmod 700 ~/.ssh/; chmod 600 ~/.ssh/authorized_keys"
  3. 编辑 crontabcrontab -e并添加如下行20 4,16 * * * rsync -a [email protected]:somedir/subdir ~/somedir

答案2

您有两个选择,

相关内容