参加冰岛马比赛时,我想将结果从Synology NAS自动上传到远程网络服务器。我们使用的程序会自动生成需要上传的html文件。

最简单的方法是什么?我在NAS和Web服务器上都具有SSH访问权限。

任何帮助表示赞赏:)

最佳答案

在这种情况下,您可以使用以下命令在synology控制台中创建cron任务:

sudo -i
vi /etc/crontab

编辑文件,并使用scp命令在文件末尾添加如下一行:
0 0 * * * root scp -r "-i/root/.ssh/mykey" 'root@serverurl.com:/some/remote/path' '/some/local/path'

最后,您必须重新加载配置,以重新启动服务:
synoservice -restart crond

在此之前,您必须配置avoid the password entry的配对密钥:
  • cd到将要运行脚本的用户的私有(private)目录(通常是“$ HOME / .ssh”,如果需要,可以创建)。必须保护该目录以写入其他用户的访问权限,并在需要时修复模式。
  • 使用命令“ssh-keygen”生成密钥对
    (如果不在您的PATH中,则为“/ usr / syno / bin / ssh-keygen”)
  • 在提示“输入要保存密钥的文件”时,选择
  • ,选择一个文件
    名称(假设“mykey”)
  • 在提示“输入密码(无密码为空):”时按

  • 返回(这将创建无密码的私钥)
  • 将创建两个文件:“mykey”和“mykey.pub”
  • 将mykey.pub的内容复制到“$ HOME / .ssh / authorized_key”中
    您的脚本将在远程计算机上的用户帐户文件
    连接至。
  • 在脚本中添加
  • ,将“-i”作为参数添加到
    ssh命令

  • 在此论坛中还解释了如何使用rsync而不是scp进行复制

    10-02 12:51
    查看更多