如何在cron中将一个文件从一台服务器复制到另一台服务器

如何在cron中将一个文件从一台服务器复制到另一台服务器

有人能告诉我如何在 cron 中将文件从一台服务器复制到另一台服务器吗?我知道,scp但我们不知道如何在 cron 中使用它,因为我们需要传递密码。

已编辑

我找到了这个链接期望输入用户名和密码的脚本

有人能帮我这样做吗?我对 Ubuntu 非常陌生,

答案1

您有两个主要选择:

  1. 不好的做法:使用类似pscp允许你发送密码的东西。来自man pscp

      -pw password
          Set  remote password to password. CAUTION: this will likely make
          the password visible to other users of the  local  machine  (via
          commands such as `w').
    

    这将要求您在 crontab 文件中输入密码,这是一个简单的文本文件,这不是一个好主意。在我的 Debian 0.63 上,密码实际上在and &copscp的输出中被屏蔽了,但根据上面引用的手册页,您不能假设情况总是如此。wps

  2. 更好的一个:设置无密码 ssh对于需要运行该命令的用户scp。如果您不想为普通用户执行此操作,只需创建一个新用户并以该用户的身份运行 crontab。

或者,您可以反过来设置。不要让机器 A 上的用户从机器 B 复制文件,而是让机器 B 上的用户将文件复制到机器 A。

是的,您可以使用脚本执行此expect操作,但如果您想在脚本中包含密码,也会出现相同的安全问题。

相关内容