Bash脚本recursion地传输文件夹而不用通过FTP覆盖

我需要一个bash脚本通过FTPrecursion地传输文件夹。 用户名/密码/ IP – 静态定义。

  1. 运行脚本的服务器:Linux
  2. 源服务器:Samba(Linux …)
  3. 目的地。 服务器:Linux

由于要传输的文件是大型数据库文件(.bak等),应该避免 覆盖 。 最好不要提示,因为脚本必须“过期”,在晚上运行。

(我不是英雄,但我觉得这是最简单的情况)

预先感谢一堆!

如果目标服务器是Linux可能我build议只使用rsync与ssh密钥? FTP是未encryption的,并没有对增量备份的本机支持。

一个带有如下命令行的rsync就足够了。

rsync -auv -e "ssh -i /path/to/keyfile" /path/to/source_directory/* \ user@remotehost:/path/to/destination_directory/ 

你可以在那里挂载FTPfs和cp 。 确保你禁用增量转移,所以它不会从那里下载文件:)

顺便说一句,你将如何做这些备份而不覆盖? 如果不在文件夹名称中使用date ,则会有一些旧文件与新文件混合在一起。