我需要一个 bash 脚本来通过 FTP 递归传输文件夹。用户名/密码/IP - 静态定义。
- 脚本运行的服务器:Linux
- 源服务器:Samba(Linux...)
- 目标服务器:Linux
因为要传输的文件是大型数据库文件(.bak 等)覆盖应该避免. 最好不要提示,因为脚本必须“cronned”才能在晚上运行。
(我不是 Bash 的英雄,但我的印象是对于这种情况它是最简单的)
提前感谢!
答案1
如果目标服务器是 Linux,我是否建议只使用带有 ssh 密钥的 rsync?FTP 未加密,并且不支持增量备份。
只需一个带有如下命令行的 rsync 即可。
rsync -auv -e "ssh -i /path/to/keyfile" /path/to/source_directory/* \
user@remotehost:/path/to/destination_directory/
答案2
您可以安装FTP文件系统以及cp
那里的一切。请确保禁用 delta-transfer,这样它就不会从那里下载文件 :)
date
顺便问一下,您如何在不覆盖的情况下进行这些备份?如果您不使用文件夹名称,您将拥有一堆旧文件和一些新文件混合在一起。